diff mbox

[1/2,v2] i2c: cros-ec-tunnel: Add of match table

Message ID 1411114093-3505-2-git-send-email-sjoerd.simons@collabora.co.uk (mailing list archive)
State New, archived
Headers show

Commit Message

Sjoerd Simons Sept. 19, 2014, 8:08 a.m. UTC
To enable the cros-ec-tunnel driver to be auto-loaded when build as a
module add an of match table (and export it) to match the modalias
information passed on to userspace as the Cros EC MFD driver registers
the MFD subdevices with an of_compatibility string.

Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
Reviewed-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
---
 Changes in v2: none

 drivers/i2c/busses/i2c-cros-ec-tunnel.c | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Wolfram Sang Sept. 29, 2014, 8:59 p.m. UTC | #1
On Fri, Sep 19, 2014 at 10:08:12AM +0200, Sjoerd Simons wrote:
> To enable the cros-ec-tunnel driver to be auto-loaded when build as a
> module add an of match table (and export it) to match the modalias
> information passed on to userspace as the Cros EC MFD driver registers
> the MFD subdevices with an of_compatibility string.
> 
> Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
> Reviewed-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>

Applied to for-next, thanks!

However, since you are working on this driver: sparse rightfully
complains about:

drivers/i2c/busses/i2c-cros-ec-tunnel.c:97:44: warning: cast truncates bits from constant value (10000 becomes 0)

I don't know the EC protocol, can you check?
Javier Martinez Canillas Sept. 29, 2014, 11:21 p.m. UTC | #2
Hello Wolfram,

On 09/29/2014 10:59 PM, Wolfram Sang wrote:
> On Fri, Sep 19, 2014 at 10:08:12AM +0200, Sjoerd Simons wrote:
>> To enable the cros-ec-tunnel driver to be auto-loaded when build as a
>> module add an of match table (and export it) to match the modalias
>> information passed on to userspace as the Cros EC MFD driver registers
>> the MFD subdevices with an of_compatibility string.
>> 
>> Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
>> Reviewed-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
> 
> Applied to for-next, thanks!
> 
> However, since you are working on this driver: sparse rightfully
> complains about:
> 
> drivers/i2c/busses/i2c-cros-ec-tunnel.c:97:44: warning: cast truncates bits from constant value (10000 becomes 0)
> 
> I don't know the EC protocol, can you check?
> 

Doug posted a patch [0] to fix the issue you are reporting but it was not
picked. I tested that the patch applies on top of linux-next + the latest
cros_ec cleanups (that includes a patch for this i2c driver and was taken
by Lee. So I think is safe for you take Doug's patch through your tree
since it seems to not cause any conflict with the mfd tree.

Or if you prefer, I can re-post that patch for 3.19.

Best regards,
Javier

[0]: https://lkml.org/lkml/2014/6/23/830
Wolfram Sang Sept. 30, 2014, 6:07 a.m. UTC | #3
> Doug posted a patch [0] to fix the issue you are reporting but it was not
> picked. I tested that the patch applies on top of linux-next + the latest
> cros_ec cleanups (that includes a patch for this i2c driver and was taken
> by Lee. So I think is safe for you take Doug's patch through your tree
> since it seems to not cause any conflict with the mfd tree.

OK, thanks for the heads up. I picked it.
diff mbox

Patch

diff --git a/drivers/i2c/busses/i2c-cros-ec-tunnel.c b/drivers/i2c/busses/i2c-cros-ec-tunnel.c
index 05e033c..0403ec1 100644
--- a/drivers/i2c/busses/i2c-cros-ec-tunnel.c
+++ b/drivers/i2c/busses/i2c-cros-ec-tunnel.c
@@ -310,11 +310,20 @@  static int ec_i2c_remove(struct platform_device *dev)
 	return 0;
 }
 
+#ifdef CONFIG_OF
+static const struct of_device_id cros_ec_i2c_of_match[] = {
+	{ .compatible = "google,cros-ec-i2c-tunnel" },
+	{},
+};
+MODULE_DEVICE_TABLE(of, cros_ec_i2c_of_match);
+#endif
+
 static struct platform_driver ec_i2c_tunnel_driver = {
 	.probe = ec_i2c_probe,
 	.remove = ec_i2c_remove,
 	.driver = {
 		.name = "cros-ec-i2c-tunnel",
+		.of_match_table = of_match_ptr(cros_ec_i2c_of_match),
 	},
 };