Messages in this thread | | | Date | Tue, 4 Dec 2018 09:21:21 +0000 | From | Lee Jones <> | Subject | Re: [PATCH v3 2/8] mfd / platform: cros_ec: move lightbar attributes to its own driver. |
| |
On Mon, 03 Dec 2018, Enric Balletbo i Serra wrote: > On 3/12/18 11:36, Lee Jones wrote: > > On Tue, 27 Nov 2018, Enric Balletbo i Serra wrote: > > > >> The entire way how cros sysfs attibutes are created is broken. > >> cros_ec_lightbar should be its own driver and its attributes should be > >> associated with a lightbar driver not the mfd driver. In order to retain > >> the path, the lightbar attributes are attached to the cros_class. > > > > I'm not exactly clear on what a lightbar is, but shouldn't it live in > > the appropriate subsystem. Like LED for example? > > > > The lightbar is a four-color indicator available on some Chromebook, but the > fact that can you can program this lightbar with different sequences, including > user defined sequences makes the device a bit special and very chrome platform > specific. The same happens with the VBC driver.
Being Chrome specific doesn't necessarily mean that these drivers shouldn't reside in a proper subsystem. A lot of drivers in the kernel are only relevant to very specific hardware/platforms.
IMHO code in drivers/platform should pertain only to the core platform itself. Any drivers for leaf hardware/functionality should be split out into the subsystems, however niche you think they are.
I also understand the convenience factor of not having to go through a !Google Maintainer, but this is not a loophole I'm prepared to support. ;)
> Other subdevices like, rtc, keyboard, usbpd charger,etc. are already in their > subsystems. > > >> The patch also adds the sysfs documentation. > >> > >> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> > >> --- > >> > >> Changes in v3: > >> - Removed unneded check for ec_dev. > >> > >> Changes in v2: > >> - Removed the two exported functions to attach/detach to the cros_class. > >> - Use dev_warn instead of dev_err when adding the lightbar. > >> > >> ...sfs-class-chromeos-driver-cros-ec-lightbar | 74 +++++++++++++++ > >> drivers/mfd/cros_ec_dev.c | 24 ++--- > >> drivers/mfd/cros_ec_dev.h | 6 -- > >> drivers/platform/chrome/Kconfig | 10 ++ > >> drivers/platform/chrome/Makefile | 3 +- > >> drivers/platform/chrome/cros_ec_lightbar.c | 95 ++++++++++++++----- > >> include/linux/mfd/cros_ec.h | 1 - > >> 7 files changed, 172 insertions(+), 41 deletions(-) > >> create mode 100644 Documentation/ABI/testing/sysfs-class-chromeos-driver-cros-ec-lightbar > >
-- Lee Jones [李琼斯] Linaro Services Technical Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog
| |