Add OF match tables for the ChromeOs EC subdevices
Subsystems (5)
v2 cover Add OF match tables for the ChromeOs EC subdevices
[ This is essentially a resend, adding Javiers reviewed-by and fixing some small identation issues in the second patch. Also added Wolfgang and Dimitry in the to, as i missed them last time ]
The ChromeOS EC MFD driver registers its sub-devices with both a (platform) name and an OF compatibility string. As a result of this the modalias passed on to user-space will be based on the OF compatibility string. Thus to be able to rely on autoloading in case the subdevices are build as modules they need to export the necessary module aliases based to match the of information.
The two patches in these series add the requird of match information to the EC subdevices
I guess the first patch should through the i2c tree while the second one would be for the input tree?
Sjoerd Simons (2):
i2c: cros-ec-tunnel: Add of match table
input: cros_ec_keyb: Add of match table
drivers/i2c/busses/i2c-cros-ec-tunnel.c | 9 +++++++++ drivers/input/keyboard/cros_ec_keyb.c | 9 +++++++++ 2 files changed, 18 insertions(+)
Signature · 1 line
2.1.0
PATCH v2 1/2 i2c: cros-ec-tunnel: Add of match table
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.
---
Changes in v2: none
drivers/i2c/busses/i2c-cros-ec-tunnel.c | 9 +++++++++ 1 file changed, 9 insertions(+)
drivers/i2c/busses/i2c-cros-ec-tunnel.c +9 -0
@@ -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), }, };
Signature · 1 line
2.1.0
Wolfram Sang
AppliedPATCH v2 1/2 i2c: cros-ec-tunnel: Add of match table
Quoted 7 lines · Sjoerd Simons
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_compatibilitystring.Signed-off-by Sjoerd Simons <[email protected]>Reviewed-by Javier Martinez Canillas <[email protected]>
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?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140929/556cfafe/attachment.sig>
PATCH v2 1/2 i2c: cros-ec-tunnel: Add of match table
Hello Wolfram,
Quoted 9 lines · Wolfram Sang
Quoted 7 lines · Sjoerd Simons
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_compatibilitystring.Signed-off-by Sjoerd Simons <[email protected]>Reviewed-by Javier Martinez Canillas <[email protected]>
Quoted 9 lines
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
PATCH v2 1/2 i2c: cros-ec-tunnel: Add of match table
Quoted 6 lines
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_eccleanups (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.
PATCH v2 2/2 input: cros_ec_keyb: Add of match table
In reply to Sjoerd SimonsTo enable the cros_ec_keyb driver to be auto-loaded when build as 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.
---
Changes in v2: Fixed some indentation issues
drivers/input/keyboard/cros_ec_keyb.c | 9 +++++++++ 1 file changed, 9 insertions(+)
drivers/input/keyboard/cros_ec_keyb.c +9 -0
@@ -342,10 +342,19 @@ static int cros_ec_keyb_resume(struct device *dev) static SIMPLE_DEV_PM_OPS(cros_ec_keyb_pm_ops, NULL, cros_ec_keyb_resume); +#ifdef CONFIG_OF +static const struct of_device_id cros_ec_keyb_of_match[] = { + { .compatible ="google,cros-ec-keyb" }, + {}, +}; +MODULE_DEVICE_TABLE (of, cros_ec_keyb_of_match); +#endif +static struct platform_driver cros_ec_keyb_driver = { .probe = cros_ec_keyb_probe, .driver = { .name ="cros-ec-keyb" , + .of_match_table =of_match_ptr (cros_ec_keyb_of_match), .pm = &cros_ec_keyb_pm_ops, }, };
Signature · 1 line
2.1.0
PATCH 2/2 input: cros_ec_keyb: Add of match table
Quoted 7 lines · Sjoerd Simons
To enable the
cros_ec_keybdriver to be auto-loaded when build as 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 anof_compatibilitystring.Signed-off-by Sjoerd Simons <[email protected]>Reviewed-by Javier Martinez Canillas <[email protected]>
Applied, thank you.
Quoted 33 lines
---
Changes in v2: Fixed some indentation issuesdrivers/input/keyboard/cros_ec_keyb.c | 9 +++++++++ 1 file changed, 9 insertions(+)drivers/input/keyboard/cros_ec_keyb.c +9
-0@@ -342,10 +342,19 @@ static int cros_ec_keyb_resume(struct device *dev) static SIMPLE_DEV_PM_OPS(cros_ec_keyb_pm_ops, NULL, cros_ec_keyb_resume); +#ifdef CONFIG_OF +static const struct of_device_id cros_ec_keyb_of_match[] = { + { .compatible ="google,cros-ec-keyb" }, + {}, +}; +MODULE_DEVICE_TABLE (of, cros_ec_keyb_of_match); +#endif +static struct platform_driver cros_ec_keyb_driver = { .probe = cros_ec_keyb_probe, .driver = { .name ="cros-ec-keyb" , + .of_match_table =of_match_ptr (cros_ec_keyb_of_match), .pm = &cros_ec_keyb_pm_ops, }, };Signature · 1 line
2.1.0
Signature · 1 line
Dmitry