Re: [PATCH v2 1/5] misc: sensorhub: Add sensorhub driver

From: Karol Wrona
Date: Mon Nov 24 2014 - 06:39:21 EST


On 11/22/2014 01:17 PM, Jonathan Cameron wrote:
On 21/11/14 19:38, Arnd Bergmann wrote:
On Friday 21 November 2014 19:19:13 Karol Wrona wrote:
Sensorhub is MCU dedicated to collect data and manage several sensors.
Sensorhub is a spi device which provides a layer for IIO devices. It provides
some data parsing and common mechanism for sensorhub sensors.

Adds common sensorhub library for sensorhub driver and iio drivers
which uses sensorhub MCU to communicate with sensors.

Signed-off-by: Karol Wrona <k.wrona@xxxxxxxxxxx>
Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx>
---
drivers/misc/Kconfig | 1 +
drivers/misc/Makefile | 1 +
drivers/misc/sensorhub/Kconfig | 13 +
drivers/misc/sensorhub/Makefile | 6 +
drivers/misc/sensorhub/ssp.h | 279 +++++++++++
drivers/misc/sensorhub/ssp_dev.c | 828 ++++++++++++++++++++++++++++++++
drivers/misc/sensorhub/ssp_spi.c | 653 +++++++++++++++++++++++++
include/linux/iio/common/ssp_sensors.h | 79 +++

You seem to provide infrastructure for other drivers here, so I don't think
drivers/misc is a good place. Have you considered making this a regular
mfd driver? If that doesn't fit, is there possibly some place in the iio
framework for this kind of driver?

Looks like an MFD to me. If all the children lie within
IIO (so far they do I think - though the thermostat firmware implies
perhaps not!) then you could put it in drivers/iio/common
(as you have with the library code) - or perhaps, given these sensor
hubs are becoming pretty common a sub directory under mfd/ is the
best plan. Some of them are sure to offer functionality more general
that IIO sooner or later.
It is possible that it can serve as input device sth else. So you are
right about MFD.

The structure of mfd directory is flat. I wonder what can be better:
just putting these sources inside mfd dir or to some new category inside mfd.
Generally sensorhub will not differ than others mfd devs but in the near future it can be that we end up with different (sensor)hubs or in my case with one core driver with several interfaces, mcu's modes - sth like ssp-i2c.c etc.
These drivers can grow in size as these devices will appear in different boards.

Also there is a question where firmware loader (stm32fwu) should be placed as it is a library?






Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html


--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/