linux_dsm_epyc7002/drivers
Samu Onkalo 32496c76b7 lis3: scale output values to mg
Report output values as 1/1000 of earth gravity.

Output values from lis3 can be read from sysfs position entry and from
input device.  Input device can be accessed as event device and as
joystick device.  Joystick device can be in two modes.  Meaning of the
output values varies from case to case depending on the chip type and
configuration (scale).  Only joystick interface in JS_CORR_BROKEN mode
returned somehow similar output values in different configurations.
Joystick device is in that state by default in case of lis3.

Position sysfs entry, input event device and raw joystick device have been
little bit broken since meaning of the output values has been varied
between 12 and 8 bit devices.  Applications which relayed on those methods
failed if the chip is different than the expected one.

This patch converts output values to mean similar thing in different
configurations.  Both 8 and 12 bit devices reports now same acceleration
values.  If somebody implements full scale support to the driver, output
values will still mean the same.  Scaling factor and input device range
must be updated in that case.

Joystick interface in JS_CORR_BROKEN mode is not touched by this patch.
All other interfaces have different scale after this change.  For 12 bit
device scaling factor is 0.977 which keeps scaled and unscaled values are
quite close to each others.  For 8 bit device, scaled values are 18 times
bigger than unscaled values.

Signed-off-by: Samu Onkalo <samu.p.onkalo@nokia.com>
Acked-by: Éric Piel <Eric.Piel@tremplin-utc.net>
Cc: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-12-15 08:53:36 -08:00
..
accessibility
acpi Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq 2009-12-11 15:59:23 -08:00
amba
ata Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2009-12-12 14:27:24 -08:00
atm Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-12-11 17:12:17 -08:00
auxdisplay
base mm: slab-allocate memory section nodemask for large systems 2009-12-15 08:53:20 -08:00
block floppy: Add an extra bound check on ioctl arguments 2009-12-15 08:53:25 -08:00
bluetooth USB: remove the auto_pm flag 2009-12-11 11:55:21 -08:00
cdrom Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2009-12-09 19:03:16 -08:00
char random.c: use %pU to print UUIDs 2009-12-15 08:53:33 -08:00
clocksource cs5535: add a generic clock event MFGPT driver 2009-12-15 08:53:28 -08:00
connector
cpufreq Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2009-12-14 09:58:24 -08:00
cpuidle drivers/cpuidle: Move dereference after NULL test 2009-12-15 08:53:25 -08:00
crypto Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2009-12-14 09:58:24 -08:00
dca
dio m68k: don't export static inline functions 2009-12-06 11:18:28 +01:00
dma const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
edac x86, msr: Add support for non-contiguous cpumasks 2009-12-11 10:59:21 -08:00
eisa
firewire Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2009-12-11 15:22:27 -08:00
firmware firmware: only allow EDD on x86 2009-12-15 08:53:34 -08:00
gpio cs5535: drop the Geode-specific MFGPT/GPIO code 2009-12-15 08:53:28 -08:00
gpu Merge branch 'drm-nouveau-pony' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2009-12-11 14:32:49 -08:00
hid USB: remove the auto_pm flag 2009-12-11 11:55:21 -08:00
hwmon lis3: scale output values to mg 2009-12-15 08:53:36 -08:00
i2c const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
ide Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2009-12-12 14:27:24 -08:00
idle
ieee1394 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
ieee802154
infiniband Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2009-12-14 09:58:24 -08:00
input const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
isdn Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2009-12-14 12:33:02 -08:00
leds tree-wide: convert open calls to remove spaces to skip_spaces() lib function 2009-12-15 08:53:32 -08:00
lguest Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2009-12-14 09:58:24 -08:00
macintosh Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2009-12-12 14:27:24 -08:00
mca
md drivers/md/md.c: use %pU to print UUIDs 2009-12-15 08:53:33 -08:00
media const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
memstick
message Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
mfd mfd: Add twl6030 regulator subdevices 2009-12-14 00:26:26 +01:00
misc cs5535: drop the Geode-specific MFGPT/GPIO code 2009-12-15 08:53:28 -08:00
mmc mmc: let tmio-mmc use dev_name() with request_irq() 2009-12-15 08:53:35 -08:00
mtd const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
net const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
nubus
of Merge commit 'origin/master' into next 2009-12-09 17:14:38 +11:00
oprofile Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2009-12-14 09:58:24 -08:00
parisc tree-wide: convert open calls to remove spaces to skip_spaces() lib function 2009-12-15 08:53:32 -08:00
parport Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k 2009-12-08 08:13:35 -08:00
pci const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
pcmcia const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
platform tree-wide: convert open calls to remove spaces to skip_spaces() lib function 2009-12-15 08:53:32 -08:00
pnp tree-wide: convert open calls to remove spaces to skip_spaces() lib function 2009-12-15 08:53:32 -08:00
power const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
pps
ps3
rapidio
regulator regulator: Add support for twl6030 regulators 2009-12-14 00:26:20 +01:00
rtc const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
s390 tree-wide: convert open calls to remove spaces to skip_spaces() lib function 2009-12-15 08:53:32 -08:00
sbus
scsi Subject: Re: [PATCH] strstrip incorrectly marked __must_check 2009-12-15 08:53:34 -08:00
serial ioc3/ioc4: fix error path on driver registration 2009-12-15 08:53:27 -08:00
sfi
sh
sn ioc3/ioc4: fix error path on driver registration 2009-12-15 08:53:27 -08:00
spi const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
ssb Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-12-05 15:22:26 -08:00
staging Staging: batman: fix debug Kconfig option 2009-12-11 15:49:27 -08:00
tc
telephony Merge branch 'for-next' into for-linus 2009-12-07 18:36:35 +01:00
thermal
uio const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
usb const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
uwb
video tree-wide: convert open calls to remove spaces to skip_spaces() lib function 2009-12-15 08:53:32 -08:00
virtio
vlynq
w1
watchdog const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
xen Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2009-12-11 12:18:16 -08:00
zorro m68k: don't export static inline functions 2009-12-06 11:18:28 +01:00
Kconfig cs5535: add a generic clock event MFGPT driver 2009-12-15 08:53:28 -08:00
Makefile