[PATCH 0/9] HID-Sensor v5

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



v5:
- Documentation changes as suggested by Peter Meerwald and Jontathan Cameron
- Change Kconfigs to corrected typo pointed by David Herrmann (3G to 3D (3-dimension))

- Sensor framework changes for comments from Jonathan
-- Modified help to for HID_SENSOR_HUB
-- Removed all size restrictions (#define ...)
-- Use of kasprintf for driver names
-- Removed defines for reports
-- kernel doc for structures
-- Embed pending structure to sensor hub data structure and removed dynamic allocation of requests
-- Removed unused structure fields
-- Blank line before returns
-- Shorter defines for HID sensor usage id defines

- Common attributes and triggers
-- Removed maximunm sampling freq restrictions
-- Allow decimal format from channel raw read calls with micro fractions
-- Can't get arround FW quirk config with the information from report

- Accelerometer 3D support
-- Changed defines for channels to enums
-- Added hysteresis and sampling frequency to channels definition
-- Simpliefiled state structure
-- Removed casts
-- Error handling
-- Removed channel mask settings
-- Changed to module_platform_driver

v4:
Addressed comments from Lars-Peter Clausen and Jiri Kosina.
- Added Documentation/hid/hid-sensor.txt
- As suggested, created iio/common folder which can contain common code for iio sensor driver.This contain common module to process trigger and attributes
- Removed empty callback functions.
- Duplicating channel structure for an IIO driver instance.

v3 :
- Using TRIGGERRED BUFFER
- Using MFD framework
The sensor hub driver is submiited to drivers/hid. This contains core processing of hid sensor
usage table, registers as an hid driver and adds registration function for routing data
to individual sensor driver. So core driver independent of user mode interface method (IIO/input etc.)

- Submiiting four drivers for Accelerometer-3D, Gyro-3D, Compass-3D and ALS. These uses IIO triggered
buffer interface. They are childrens of hid sensor hub driver.
They reside in iio/accel, iio/gyro iio/magnetometer and iio/light.

- Still using driver/staging/iio. Not able to test with driver/iio.

v2 :
- Replaced Ring-SW with KFiFO
- Accel-3d, Gyro-3D and Compass-3D uses 3 different channels for X, Y and Z
- SysFS (
--- Changed "polling_interval" to sampling_frequency (IIO_DEV_ATTR_SAMP_FREQ) with units HZ
--- Changed "sensitivity" to hyst_raw, which is already used by some ADC modules
--- Removed "Activate". No longer need this. Using trigger state to activate/deactivate
)
- Removed sysfs attributes for "xxx_offset". Instead using mask 0 in read_raw. So each
sensor have only channels, sampling_frequency and hyst_raw as the ABI.
- Additional patch to enable ST Micro sensor hub-

v1:
Base implementation for comments


srinivas pandruvada (9):
  IIO: core: Add hysteresis in channel spec
  HID-Sensors: Documentation
  HID Sensors: Add to special driver list
  HID-Sensors: Sensor framework
  HID-Sensors: Common attribute and trigger
  HID-Sensors: Added accelerometer 3D
  HID-Sensors: Added Gyroscope 3D
  HID-Sensors: Added Compass/Magnetometer 3D
  HID-Sensors: Added ALS

 Documentation/hid/hid-sensor.txt                   |  139 ++++
 drivers/hid/Kconfig                                |   14 +
 drivers/hid/Makefile                               |    1 +
 drivers/hid/hid-core.c                             |   10 +
 drivers/hid/hid-ids.h                              |    6 +
 drivers/hid/hid-sensor-hub.c                       |  681 ++++++++++++++++++++
 drivers/iio/Kconfig                                |    5 +
 drivers/iio/Makefile                               |    5 +
 drivers/iio/accel/Kconfig                          |   16 +
 drivers/iio/accel/Makefile                         |    6 +
 drivers/iio/accel/hid-sensor-accel-3d.c            |  431 +++++++++++++
 drivers/iio/common/Kconfig                         |    6 +
 drivers/iio/common/Makefile                        |    9 +
 drivers/iio/common/hid-sensors/Kconfig             |   26 +
 drivers/iio/common/hid-sensors/Makefile            |    6 +
 .../iio/common/hid-sensors/hid-sensor-attributes.c |  277 ++++++++
 .../iio/common/hid-sensors/hid-sensor-attributes.h |   58 ++
 .../iio/common/hid-sensors/hid-sensor-trigger.c    |  103 +++
 .../iio/common/hid-sensors/hid-sensor-trigger.h    |   25 +
 drivers/iio/gyro/Kconfig                           |   16 +
 drivers/iio/gyro/Makefile                          |    6 +
 drivers/iio/gyro/hid-sensor-gyro-3d.c              |  431 +++++++++++++
 drivers/iio/industrialio-core.c                    |    1 +
 drivers/iio/light/Kconfig                          |   16 +
 drivers/iio/light/Makefile                         |    6 +
 drivers/iio/light/hid-sensor-als.c                 |  397 ++++++++++++
 drivers/iio/magnetometer/Kconfig                   |   16 +
 drivers/iio/magnetometer/Makefile                  |    6 +
 drivers/iio/magnetometer/hid-sensor-magn-3d.c      |  431 +++++++++++++
 include/linux/hid-sensor-hub.h                     |  160 +++++
 include/linux/hid-sensor-ids.h                     |  111 ++++
 include/linux/iio/iio.h                            |    5 +
 32 files changed, 3426 insertions(+), 0 deletions(-)
 create mode 100755 Documentation/hid/hid-sensor.txt
 create mode 100644 drivers/hid/hid-sensor-hub.c
 create mode 100644 drivers/iio/accel/Kconfig
 create mode 100644 drivers/iio/accel/Makefile
 create mode 100644 drivers/iio/accel/hid-sensor-accel-3d.c
 create mode 100644 drivers/iio/common/Kconfig
 create mode 100644 drivers/iio/common/Makefile
 create mode 100644 drivers/iio/common/hid-sensors/Kconfig
 create mode 100644 drivers/iio/common/hid-sensors/Makefile
 create mode 100644 drivers/iio/common/hid-sensors/hid-sensor-attributes.c
 create mode 100644 drivers/iio/common/hid-sensors/hid-sensor-attributes.h
 create mode 100644 drivers/iio/common/hid-sensors/hid-sensor-trigger.c
 create mode 100644 drivers/iio/common/hid-sensors/hid-sensor-trigger.h
 create mode 100644 drivers/iio/gyro/Kconfig
 create mode 100644 drivers/iio/gyro/Makefile
 create mode 100644 drivers/iio/gyro/hid-sensor-gyro-3d.c
 create mode 100644 drivers/iio/light/Kconfig
 create mode 100644 drivers/iio/light/Makefile
 create mode 100644 drivers/iio/light/hid-sensor-als.c
 create mode 100644 drivers/iio/magnetometer/Kconfig
 create mode 100644 drivers/iio/magnetometer/Makefile
 create mode 100644 drivers/iio/magnetometer/hid-sensor-magn-3d.c
 create mode 100644 include/linux/hid-sensor-hub.h
 create mode 100644 include/linux/hid-sensor-ids.h

-- 
1.7.7.6

--
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


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux