Reviewed-by: Gwendal Grignou <gwen...@chromium.org>
On Thu, Nov 30, 2017 at 12:49 PM, Guenter Roeck <gro...@google.com> wrote: > On Mon, Nov 20, 2017 at 8:15 AM, Thierry Escande > <thierry.esca...@collabora.com> wrote: >> This patch splits the cros_ec_devs module in two parts with a >> cros_ec_dev module responsible for handling MFD devices registration and >> a cros_ec_ctl module responsible for handling the various user-space >> interfaces. >> >> For consistency purpose, the driver name for the cros_ec_dev module is >> now cros-ec-dev instead of cros-ec-ctl. >> >> In the next commit, the new cros_ec_dev module will be moved to the MFD >> subtree so mfd_add_devices() calls are not done from outside MFD. >> >> Signed-off-by: Thierry Escande <thierry.esca...@collabora.com> > > Tested-by: Guenter Roeck <gro...@chromium.org> > >> --- >> drivers/mfd/cros_ec.c | 4 ++-- >> drivers/platform/chrome/Kconfig | 4 ++++ >> drivers/platform/chrome/Makefile | 8 ++++---- >> drivers/platform/chrome/cros_ec_debugfs.c | 2 ++ >> drivers/platform/chrome/cros_ec_dev.c | 7 +++++-- >> drivers/platform/chrome/cros_ec_lightbar.c | 4 ++++ >> drivers/platform/chrome/cros_ec_sysfs.c | 3 +++ >> drivers/platform/chrome/cros_ec_vbc.c | 1 + >> 8 files changed, 25 insertions(+), 8 deletions(-) >> >> diff --git a/drivers/mfd/cros_ec.c b/drivers/mfd/cros_ec.c >> index b0ca5a4c..d610241 100644 >> --- a/drivers/mfd/cros_ec.c >> +++ b/drivers/mfd/cros_ec.c >> @@ -40,13 +40,13 @@ static struct cros_ec_platform pd_p = { >> }; >> >> static const struct mfd_cell ec_cell = { >> - .name = "cros-ec-ctl", >> + .name = "cros-ec-dev", >> .platform_data = &ec_p, >> .pdata_size = sizeof(ec_p), >> }; >> >> static const struct mfd_cell ec_pd_cell = { >> - .name = "cros-ec-ctl", >> + .name = "cros-ec-dev", >> .platform_data = &pd_p, >> .pdata_size = sizeof(pd_p), >> }; >> diff --git a/drivers/platform/chrome/Kconfig >> b/drivers/platform/chrome/Kconfig >> index 0ad6e29..bffc892 100644 >> --- a/drivers/platform/chrome/Kconfig >> +++ b/drivers/platform/chrome/Kconfig >> @@ -41,12 +41,16 @@ config CHROMEOS_PSTORE >> config CROS_EC_CHARDEV >> tristate "Chrome OS Embedded Controller userspace device interface" >> depends on MFD_CROS_EC >> + select CROS_EC_CTL >> ---help--- >> This driver adds support to talk with the ChromeOS EC from >> userspace. >> >> If you have a supported Chromebook, choose Y or M here. >> The module will be called cros_ec_dev. >> >> +config CROS_EC_CTL >> + tristate >> + >> config CROS_EC_LPC >> tristate "ChromeOS Embedded Controller (LPC)" >> depends on MFD_CROS_EC && ACPI && (X86 || COMPILE_TEST) >> diff --git a/drivers/platform/chrome/Makefile >> b/drivers/platform/chrome/Makefile >> index a077b1f..bc239ec 100644 >> --- a/drivers/platform/chrome/Makefile >> +++ b/drivers/platform/chrome/Makefile >> @@ -2,10 +2,10 @@ >> >> obj-$(CONFIG_CHROMEOS_LAPTOP) += chromeos_laptop.o >> obj-$(CONFIG_CHROMEOS_PSTORE) += chromeos_pstore.o >> -cros_ec_devs-objs := cros_ec_dev.o cros_ec_sysfs.o \ >> - cros_ec_lightbar.o cros_ec_vbc.o \ >> - cros_ec_debugfs.o >> -obj-$(CONFIG_CROS_EC_CHARDEV) += cros_ec_devs.o >> +cros_ec_ctl-objs := cros_ec_sysfs.o >> cros_ec_lightbar.o \ >> + cros_ec_vbc.o cros_ec_debugfs.o >> +obj-$(CONFIG_CROS_EC_CTL) += cros_ec_ctl.o >> +obj-$(CONFIG_CROS_EC_CHARDEV) += cros_ec_dev.o >> cros_ec_lpcs-objs := cros_ec_lpc.o cros_ec_lpc_reg.o >> cros_ec_lpcs-$(CONFIG_CROS_EC_LPC_MEC) += cros_ec_lpc_mec.o >> obj-$(CONFIG_CROS_EC_LPC) += cros_ec_lpcs.o >> diff --git a/drivers/platform/chrome/cros_ec_debugfs.c >> b/drivers/platform/chrome/cros_ec_debugfs.c >> index 4cc66f4..d0b8ce0 100644 >> --- a/drivers/platform/chrome/cros_ec_debugfs.c >> +++ b/drivers/platform/chrome/cros_ec_debugfs.c >> @@ -390,6 +390,7 @@ int cros_ec_debugfs_init(struct cros_ec_dev *ec) >> debugfs_remove_recursive(debug_info->dir); >> return ret; >> } >> +EXPORT_SYMBOL(cros_ec_debugfs_init); >> >> void cros_ec_debugfs_remove(struct cros_ec_dev *ec) >> { >> @@ -399,3 +400,4 @@ void cros_ec_debugfs_remove(struct cros_ec_dev *ec) >> debugfs_remove_recursive(ec->debug_info->dir); >> cros_ec_cleanup_console_log(ec->debug_info); >> } >> +EXPORT_SYMBOL(cros_ec_debugfs_remove); >> diff --git a/drivers/platform/chrome/cros_ec_dev.c >> b/drivers/platform/chrome/cros_ec_dev.c >> index cf6c4f0..daf0ffd 100644 >> --- a/drivers/platform/chrome/cros_ec_dev.c >> +++ b/drivers/platform/chrome/cros_ec_dev.c >> @@ -28,6 +28,8 @@ >> #include "cros_ec_debugfs.h" >> #include "cros_ec_dev.h" >> >> +#define DRV_NAME "cros-ec-dev" >> + >> /* Device variables */ >> #define CROS_MAX_DEV 128 >> static int ec_major; >> @@ -461,7 +463,7 @@ static int ec_device_remove(struct platform_device *pdev) >> } >> >> static const struct platform_device_id cros_ec_id[] = { >> - { "cros-ec-ctl", 0 }, >> + { DRV_NAME, 0 }, >> { /* sentinel */ }, >> }; >> MODULE_DEVICE_TABLE(platform, cros_ec_id); >> @@ -493,7 +495,7 @@ static const struct dev_pm_ops cros_ec_dev_pm_ops = { >> >> static struct platform_driver cros_ec_dev_driver = { >> .driver = { >> - .name = "cros-ec-ctl", >> + .name = DRV_NAME, >> .pm = &cros_ec_dev_pm_ops, >> }, >> .probe = ec_device_probe, >> @@ -544,6 +546,7 @@ static void __exit cros_ec_dev_exit(void) >> module_init(cros_ec_dev_init); >> module_exit(cros_ec_dev_exit); >> >> +MODULE_ALIAS("platform:" DRV_NAME); >> MODULE_AUTHOR("Bill Richardson <wfric...@chromium.org>"); >> MODULE_DESCRIPTION("Userspace interface to the Chrome OS Embedded >> Controller"); >> MODULE_VERSION("1.0"); >> diff --git a/drivers/platform/chrome/cros_ec_lightbar.c >> b/drivers/platform/chrome/cros_ec_lightbar.c >> index fd2b047..925d91c 100644 >> --- a/drivers/platform/chrome/cros_ec_lightbar.c >> +++ b/drivers/platform/chrome/cros_ec_lightbar.c >> @@ -414,6 +414,7 @@ int lb_manual_suspend_ctrl(struct cros_ec_dev *ec, >> uint8_t enable) >> >> return ret; >> } >> +EXPORT_SYMBOL(lb_manual_suspend_ctrl); >> >> int lb_suspend(struct cros_ec_dev *ec) >> { >> @@ -422,6 +423,7 @@ int lb_suspend(struct cros_ec_dev *ec) >> >> return lb_send_empty_cmd(ec, LIGHTBAR_CMD_SUSPEND); >> } >> +EXPORT_SYMBOL(lb_suspend); >> >> int lb_resume(struct cros_ec_dev *ec) >> { >> @@ -430,6 +432,7 @@ int lb_resume(struct cros_ec_dev *ec) >> >> return lb_send_empty_cmd(ec, LIGHTBAR_CMD_RESUME); >> } >> +EXPORT_SYMBOL(lb_resume); >> >> static ssize_t sequence_store(struct device *dev, struct device_attribute >> *attr, >> const char *buf, size_t count) >> @@ -622,3 +625,4 @@ struct attribute_group cros_ec_lightbar_attr_group = { >> .attrs = __lb_cmds_attrs, >> .is_visible = cros_ec_lightbar_attrs_are_visible, >> }; >> +EXPORT_SYMBOL(cros_ec_lightbar_attr_group); >> diff --git a/drivers/platform/chrome/cros_ec_sysfs.c >> b/drivers/platform/chrome/cros_ec_sysfs.c >> index f3baf99..201f11a 100644 >> --- a/drivers/platform/chrome/cros_ec_sysfs.c >> +++ b/drivers/platform/chrome/cros_ec_sysfs.c >> @@ -294,4 +294,7 @@ static struct attribute *__ec_attrs[] = { >> struct attribute_group cros_ec_attr_group = { >> .attrs = __ec_attrs, >> }; >> +EXPORT_SYMBOL(cros_ec_attr_group); >> >> +MODULE_LICENSE("GPL"); >> +MODULE_DESCRIPTION("ChromeOS EC control driver"); >> diff --git a/drivers/platform/chrome/cros_ec_vbc.c >> b/drivers/platform/chrome/cros_ec_vbc.c >> index 564a0d0..6d38e6b 100644 >> --- a/drivers/platform/chrome/cros_ec_vbc.c >> +++ b/drivers/platform/chrome/cros_ec_vbc.c >> @@ -135,3 +135,4 @@ struct attribute_group cros_ec_vbc_attr_group = { >> .bin_attrs = cros_ec_vbc_bin_attrs, >> .is_bin_visible = cros_ec_vbc_is_visible, >> }; >> +EXPORT_SYMBOL(cros_ec_vbc_attr_group); >> -- >> 2.7.4 >>