Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 77e97ba2 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

[media] cx231xx: disable I2C errors during i2c_scan



Otherwise, it would produce lots of useless messages like:
	cx231xx: cx231xx_send_usb_command: failed with status --32

After this patch, I2C scan will produce an useful report:

[ 9494.050807] cx231xx: i2c_scan: checking for I2C devices on port=0 ..
[ 9494.074928] cx231xx: i2c scan: Completed Checking for I2C devices on port=0.
[ 9494.074936] cx231xx: i2c_scan: checking for I2C devices on port=3 ..
[ 9494.098934] cx231xx: i2c scan: Completed Checking for I2C devices on port=3.
[ 9494.098942] cx231xx: i2c_scan: checking for I2C devices on port=2 ..
[ 9494.118440] cx231xx: i2c scan: Completed Checking for I2C devices on port=2.
[ 9494.118448] cx231xx: i2c_scan: checking for I2C devices on port=4 ..
[ 9494.141889] cx231xx: i2c scan: Completed Checking for I2C devices on port=4.

[ 9494.060182] cx231xx: i2c scan: found device @ 0x40  [???]
[ 9494.062953] cx231xx: i2c scan: found device @ 0x60  [colibri]
[ 9494.066071] cx231xx: i2c scan: found device @ 0x88  [hammerhead]
[ 9494.067383] cx231xx: i2c scan: found device @ 0x98  [???]
[ 9494.090113] cx231xx: i2c scan: found device @ 0xa0  [eeprom]
[ 9494.106463] cx231xx: i2c scan: found device @ 0x60  [colibri]
[ 9494.113762] cx231xx: i2c scan: found device @ 0xc0  [tuner]
[ 9494.121882] cx231xx: i2c scan: found device @ 0x20  [???]
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 0d88d091
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -227,7 +227,7 @@ int cx231xx_send_usb_command(struct cx231xx_i2c *i2c_bus,


	/* call common vendor command request */
	/* call common vendor command request */
	status = cx231xx_send_vendor_cmd(dev, &ven_req);
	status = cx231xx_send_vendor_cmd(dev, &ven_req);
	if (status < 0) {
	if (status < 0 && !dev->i2c_scan_running) {
		pr_err("%s: failed with status -%d\n",
		pr_err("%s: failed with status -%d\n",
			__func__, status);
			__func__, status);
	}
	}
+5 −0
Original line number Original line Diff line number Diff line
@@ -496,6 +496,9 @@ void cx231xx_do_i2c_scan(struct cx231xx *dev, int i2c_port)
	if (!i2c_scan)
	if (!i2c_scan)
		return;
		return;


	/* Don't generate I2C errors during scan */
	dev->i2c_scan_running = true;

	memset(&client, 0, sizeof(client));
	memset(&client, 0, sizeof(client));
	client.adapter = cx231xx_get_i2c_adap(dev, i2c_port);
	client.adapter = cx231xx_get_i2c_adap(dev, i2c_port);


@@ -512,6 +515,8 @@ void cx231xx_do_i2c_scan(struct cx231xx *dev, int i2c_port)
	}
	}
	pr_info("i2c scan: Completed Checking for I2C devices on port=%d.\n",
	pr_info("i2c scan: Completed Checking for I2C devices on port=%d.\n",
		i2c_port);
		i2c_port);

	dev->i2c_scan_running = false;
}
}


/*
/*
+2 −0
Original line number Original line Diff line number Diff line
@@ -610,6 +610,8 @@ struct cx231xx {
	unsigned int has_audio_class:1;
	unsigned int has_audio_class:1;
	unsigned int has_alsa_audio:1;
	unsigned int has_alsa_audio:1;


	unsigned int i2c_scan_running:1; /* true only during i2c_scan */

	struct cx231xx_fmt *format;
	struct cx231xx_fmt *format;


	struct v4l2_device v4l2_dev;
	struct v4l2_device v4l2_dev;