Commit c43c1be0 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

Merge branch 'linus' into x86/urgent

parents e22146e6 a3cf8593
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -49,7 +49,7 @@ $ modprobe max6875 force=0,0x50


The MAX6874/MAX6875 ignores address bit 0, so this driver attaches to multiple
The MAX6874/MAX6875 ignores address bit 0, so this driver attaches to multiple
addresses.  For example, for address 0x50, it also reserves 0x51.
addresses.  For example, for address 0x50, it also reserves 0x51.
The even-address instance is called 'max6875', the odd one is 'max6875 subclient'.
The even-address instance is called 'max6875', the odd one is 'dummy'.




Programming the chip using i2c-dev
Programming the chip using i2c-dev
+9 −1
Original line number Original line Diff line number Diff line
@@ -7,7 +7,7 @@ drivers/gpio/pca9539.c instead.
Supported chips:
Supported chips:
  * Philips PCA9539
  * Philips PCA9539
    Prefix: 'pca9539'
    Prefix: 'pca9539'
    Addresses scanned: 0x74 - 0x77
    Addresses scanned: none
    Datasheet:
    Datasheet:
        http://www.semiconductors.philips.com/acrobat/datasheets/PCA9539_2.pdf
        http://www.semiconductors.philips.com/acrobat/datasheets/PCA9539_2.pdf


@@ -23,6 +23,14 @@ The input sense can also be inverted.
The 16 lines are split between two bytes.
The 16 lines are split between two bytes.




Detection
---------

The PCA9539 is difficult to detect and not commonly found in PC machines,
so you have to pass the I2C bus and address of the installed PCA9539
devices explicitly to the driver at load time via the force=... parameter.


Sysfs entries
Sysfs entries
-------------
-------------


+5 −7
Original line number Original line Diff line number Diff line
@@ -4,13 +4,13 @@ Kernel driver pcf8574
Supported chips:
Supported chips:
  * Philips PCF8574
  * Philips PCF8574
    Prefix: 'pcf8574'
    Prefix: 'pcf8574'
    Addresses scanned: I2C 0x20 - 0x27
    Addresses scanned: none
    Datasheet: Publicly available at the Philips Semiconductors website
    Datasheet: Publicly available at the Philips Semiconductors website
               http://www.semiconductors.philips.com/pip/PCF8574P.html
               http://www.semiconductors.philips.com/pip/PCF8574P.html


 * Philips PCF8574A
 * Philips PCF8574A
    Prefix: 'pcf8574a'
    Prefix: 'pcf8574a'
    Addresses scanned: I2C 0x38 - 0x3f
    Addresses scanned: none
    Datasheet: Publicly available at the Philips Semiconductors website
    Datasheet: Publicly available at the Philips Semiconductors website
               http://www.semiconductors.philips.com/pip/PCF8574P.html
               http://www.semiconductors.philips.com/pip/PCF8574P.html


@@ -38,12 +38,10 @@ For more informations see the datasheet.
Accessing PCF8574(A) via /sys interface
Accessing PCF8574(A) via /sys interface
-------------------------------------
-------------------------------------


! Be careful !
The PCF8574(A) is plainly impossible to detect ! Stupid chip.
The PCF8574(A) is plainly impossible to detect ! Stupid chip.
So every chip with address in the interval [20..27] and [38..3f] are
So, you have to pass the I2C bus and address of the installed PCF857A
detected as PCF8574(A). If you have other chips in this address
and PCF8574A devices explicitly to the driver at load time via the
range, the workaround is to load this module after the one
force=... parameter.
for your others chips.


On detection (i.e. insmod, modprobe et al.), directories are being
On detection (i.e. insmod, modprobe et al.), directories are being
created for each detected PCF8574(A):
created for each detected PCF8574(A):
+3 −6
Original line number Original line Diff line number Diff line
@@ -40,12 +40,9 @@ Detection
---------
---------


There is no method known to detect whether a chip on a given I2C address is
There is no method known to detect whether a chip on a given I2C address is
a PCF8575 or whether it is any other I2C device. So there are two alternatives
a PCF8575 or whether it is any other I2C device, so you have to pass the I2C
to let the driver find the installed PCF8575 devices:
bus and address of the installed PCF8575 devices explicitly to the driver at
- Load this driver after any other I2C driver for I2C devices with addresses
load time via the force=... parameter.
  in the range 0x20 .. 0x27.
- Pass the I2C bus and address of the installed PCF8575 devices explicitly to
  the driver at load time via the probe=... or force=... parameters.


/sys interface
/sys interface
--------------
--------------
+2 −2
Original line number Original line Diff line number Diff line
@@ -508,6 +508,8 @@ else
KBUILD_CFLAGS	+= -O2
KBUILD_CFLAGS	+= -O2
endif
endif


include $(srctree)/arch/$(SRCARCH)/Makefile

ifneq (CONFIG_FRAME_WARN,0)
ifneq (CONFIG_FRAME_WARN,0)
KBUILD_CFLAGS += $(call cc-option,-Wframe-larger-than=${CONFIG_FRAME_WARN})
KBUILD_CFLAGS += $(call cc-option,-Wframe-larger-than=${CONFIG_FRAME_WARN})
endif
endif
@@ -516,8 +518,6 @@ endif
# Arch Makefiles may override this setting
# Arch Makefiles may override this setting
KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)
KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)


include $(srctree)/arch/$(SRCARCH)/Makefile

ifdef CONFIG_FRAME_POINTER
ifdef CONFIG_FRAME_POINTER
KBUILD_CFLAGS	+= -fno-omit-frame-pointer -fno-optimize-sibling-calls
KBUILD_CFLAGS	+= -fno-omit-frame-pointer -fno-optimize-sibling-calls
else
else
Loading