mirror of
https://github.com/ukui/kernel.git
synced 2026-03-09 10:07:04 -07:00
Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging
* 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/staging: (24 commits)
hwmon: lis3: Release resources in case of failure
hwmon: lis3: Short explanations of platform data fields
hwmon: lis3: Enhance lis3 selftest with IRQ line test
hwmon: lis3: use block read to access data registers
hwmon: lis3: Adjust fuzziness for 8 bit device
hwmon: lis3: New parameters to platform data
hwmon: lis3: restore axis enabled bits
hwmon: lis3: Power on corrections
hwmon: lis3: Update coordinates at polled device open
hwmon: lis3: Cleanup interrupt handling
hwmon: lis3: regulator control
hwmon: lis3: pm_runtime support
Kirkwood: add fan support for Network Space Max v2
hwmon: add generic GPIO fan driver
hwmon: (coretemp) fix reading of microcode revision (v2)
hwmon: ({core, pkg, via-cpu}temp) remove unnecessary CONFIG_HOTPLUG_CPU ifdefs
hwmon: (pkgtemp) align driver initialization style with coretemp
hwmon: LTC4261 Hardware monitoring driver
hwmon: (lis3) add axes module parameter for custom axis-mapping
hwmon: (hp_accel) Add HP Mini 510x family support
...
This commit is contained in:
36
include/linux/gpio-fan.h
Normal file
36
include/linux/gpio-fan.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* include/linux/gpio-fan.h
|
||||
*
|
||||
* Platform data structure for GPIO fan driver
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
#ifndef __LINUX_GPIO_FAN_H
|
||||
#define __LINUX_GPIO_FAN_H
|
||||
|
||||
struct gpio_fan_alarm {
|
||||
unsigned gpio;
|
||||
unsigned active_low;
|
||||
};
|
||||
|
||||
struct gpio_fan_speed {
|
||||
int rpm;
|
||||
int ctrl_val;
|
||||
};
|
||||
|
||||
struct gpio_fan_platform_data {
|
||||
int num_ctrl;
|
||||
unsigned *ctrl; /* fan control GPIOs. */
|
||||
struct gpio_fan_alarm *alarm; /* fan alarm GPIO. */
|
||||
/*
|
||||
* Speed conversion array: rpm from/to GPIO bit field.
|
||||
* This array _must_ be sorted in ascending rpm order.
|
||||
*/
|
||||
int num_speed;
|
||||
struct gpio_fan_speed *speed;
|
||||
};
|
||||
|
||||
#endif /* __LINUX_GPIO_FAN_H */
|
||||
@@ -1,6 +1,52 @@
|
||||
#ifndef __LIS3LV02D_H_
|
||||
#define __LIS3LV02D_H_
|
||||
|
||||
/**
|
||||
* struct lis3lv02d_platform_data - lis3 chip family platform data
|
||||
* @click_flags: Click detection unit configuration
|
||||
* @click_thresh_x: Click detection unit x axis threshold
|
||||
* @click_thresh_y: Click detection unit y axis threshold
|
||||
* @click_thresh_z: Click detection unit z axis threshold
|
||||
* @click_time_limit: Click detection unit time parameter
|
||||
* @click_latency: Click detection unit latency parameter
|
||||
* @click_window: Click detection unit window parameter
|
||||
* @irq_cfg: On chip irq source and type configuration (click /
|
||||
* data available / wake up, open drain, polarity)
|
||||
* @irq_flags1: Additional irq triggering flags for irq channel 0
|
||||
* @irq_flags2: Additional irq triggering flags for irq channel 1
|
||||
* @duration1: Wake up unit 1 duration parameter
|
||||
* @duration2: Wake up unit 2 duration parameter
|
||||
* @wakeup_flags: Wake up unit 1 flags
|
||||
* @wakeup_thresh: Wake up unit 1 threshold value
|
||||
* @wakeup_flags2: Wake up unit 2 flags
|
||||
* @wakeup_thresh2: Wake up unit 2 threshold value
|
||||
* @hipass_ctrl: High pass filter control (enable / disable, cut off
|
||||
* frequency)
|
||||
* @axis_x: Sensor orientation remapping for x-axis
|
||||
* @axis_y: Sensor orientation remapping for y-axis
|
||||
* @axis_z: Sensor orientation remapping for z-axis
|
||||
* @driver_features: Enable bits for different features. Disabled by default
|
||||
* @default_rate: Default sampling rate. 0 means reset default
|
||||
* @setup_resources: Interrupt line setup call back function
|
||||
* @release_resources: Interrupt line release call back function
|
||||
* @st_min_limits[3]: Selftest acceptance minimum values
|
||||
* @st_max_limits[3]: Selftest acceptance maximum values
|
||||
* @irq2: Irq line 2 number
|
||||
*
|
||||
* Platform data is used to setup the sensor chip. Meaning of the different
|
||||
* chip features can be found from the data sheet. It is publicly available
|
||||
* at www.st.com web pages. Currently the platform data is used
|
||||
* only for the 8 bit device. The 8 bit device has two wake up / free fall
|
||||
* detection units and click detection unit. There are plenty of ways to
|
||||
* configure the chip which makes is quite hard to explain deeper meaning of
|
||||
* the fields here. Behaviour of the detection blocks varies heavily depending
|
||||
* on the configuration. For example, interrupt detection block can use high
|
||||
* pass filtered data which makes it react to the changes in the acceleration.
|
||||
* Irq_flags can be used to enable interrupt detection on the both edges.
|
||||
* With proper chip configuration this produces interrupt when some trigger
|
||||
* starts and when it goes away.
|
||||
*/
|
||||
|
||||
struct lis3lv02d_platform_data {
|
||||
/* please note: the 'click' feature is only supported for
|
||||
* LIS[32]02DL variants of the chip and will be ignored for
|
||||
@@ -36,7 +82,10 @@ struct lis3lv02d_platform_data {
|
||||
#define LIS3_IRQ_OPEN_DRAIN (1 << 6)
|
||||
#define LIS3_IRQ_ACTIVE_LOW (1 << 7)
|
||||
unsigned char irq_cfg;
|
||||
|
||||
unsigned char irq_flags1; /* Additional irq edge / level flags */
|
||||
unsigned char irq_flags2; /* Additional irq edge / level flags */
|
||||
unsigned char duration1;
|
||||
unsigned char duration2;
|
||||
#define LIS3_WAKEUP_X_LO (1 << 0)
|
||||
#define LIS3_WAKEUP_X_HI (1 << 1)
|
||||
#define LIS3_WAKEUP_Y_LO (1 << 2)
|
||||
@@ -64,6 +113,10 @@ struct lis3lv02d_platform_data {
|
||||
s8 axis_x;
|
||||
s8 axis_y;
|
||||
s8 axis_z;
|
||||
#define LIS3_USE_REGULATOR_CTRL 0x01
|
||||
#define LIS3_USE_BLOCK_READ 0x02
|
||||
u16 driver_features;
|
||||
int default_rate;
|
||||
int (*setup_resources)(void);
|
||||
int (*release_resources)(void);
|
||||
/* Limits for selftest are specified in chip data sheet */
|
||||
|
||||
Reference in New Issue
Block a user