Age | Commit message (Collapse) | Author | Files | Lines |
|
This reverts commit f20941f334d8fdb6b598658979709b4e94cd034b.
Sergei Shtylyov notes "You call min() on uncomparables [in
mwdma_clip_to_pio()], i.e. mwdma_to_pio[] contains XFER_PIO_* and
adev->pio_mode - XFER_PIO_0 yields you a mode number. Thus the second
argument will always "win" as a minimal one"
Bartlomiej Zolnierkiewicz adds "There are more issues with the patch related
to mwdma_clip_to_pio(). The function can return values between 0 and
4 which obviously won't work well for the new code below for values
>2 (i.e. resulting in out-of-bounds array access for the common-case
of dev->pio_mode == XFER_PIO_4)."
Bartlomiej Zolnierkiewicz also notes the patch is incomplete, failing to
update MWDMA mode masks.
Signed-off-by: Jeff Garzik <[email protected]>
|
|
Signed-off-by: Stephen Rothwell <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
|
|
|
|
Jonathan Cameron reports that building PCMCIA as modules doesn't work:
As module get a load of undefined symbols:
ERROR: "soc_pcmcia_request_irqs" [drivers/pcmcia/pxa2xx_stargate2.ko] undefined!
ERROR: "soc_pcmcia_free_irqs" [drivers/pcmcia/pxa2xx_stargate2.ko] undefined!
ERROR: "soc_pcmcia_enable_irqs" [drivers/pcmcia/pxa2xx_stargate2.ko] undefined!
ERROR: "soc_pcmcia_disable_irqs" [drivers/pcmcia/pxa2xx_stargate2.ko] undefined!
ERROR: "soc_pcmcia_add_one" [drivers/pcmcia/pxa2xx_base.ko] undefined!
ERROR: "soc_common_pcmcia_get_timing" [drivers/pcmcia/pxa2xx_base.ko] undefined!
ERROR: "soc_pcmcia_remove_one" [drivers/pcmcia/pxa2xx_base.ko] undefined!
make[1]: *** [__modpost] Error 1
make: *** [modules] Error 2
This is because soc_common tries to be built-in, but it should be a module.
Allow soc_common to be a module.
Reported-by: Jonathan Cameron <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
sa1100
|
|
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
Many features of h3100/h3600 (LCD, PCMCIA, Flash write, etc.)
depend on correct functioning of GPIO expander handled by htc-egpio
driver, so force its building in Kconfig.
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
Update defconfig to current kernel, enable support for iPAQ H3100
and following drivers: gpio-keys, htc-egpio, ide_cs.
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
Both iPAQs h3600 and h3100 share the same control
GPIOs for PCMCIA, so driver can be reused.
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
Add support for "Power" and "Action" (joystick center) buttons -
the only buttons on iPaq h3100/h3600 connected to GPIOs
(other buttons are controlled by microcontroller)
Also remove setting PWER for wakeup on Power button press -
gpio-keys driver will handle it.
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
After a code reorganization and following split, there's some #includes
now unused. Clean them up and sort remaining alphabetticaly where possible.
Compile tested.
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
Correct boilerplates after files split. Also shorten them a bit - use
standart GPL wording (as per http://lkml.org/lkml/2007/5/1/220) and
drop changelog, which only entry about h3800 support and abstracted
EGPIOs is just confusing now, as both of these features are gone.
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
Split common h3600.c into three separate files: h3100.c, h3600.c and
h3xxx.c (the latter contains common code for h3100/h3600)
Copyright boilerplates and #includes are copied intact and will be
cleaned up later.
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
Combine both headers into one, rename to h3xxx.h and change all
users accordingly.
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
As all existing code was converted to gpiolib, drop no more
used pre-gpiolib (bit-shifted) GPIO definintions.
Supply new gpiolib-friendly definitions for GPIOs which
don't have them yet.
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
After conversion to gpiolib there's still some GPIOs left, that get
configured in *_mach_init() as outputs (using direct operations
on GPCR/GPDR registers), but otherwise unused. These GPIOs are mainly
sound related and should be configured by corresponding driver once
it is written.
Drop this initialisation and configure all GPIOs as input.
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
As all the remaining users of these definitions
(in pcmcia/sa1100_h3600 driver) were converted to gpio_to_irq(),
they can be safely removed.
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
As all users of assign_h3600_egpio now converted to gpiolib, we
can safely remove all assign_h3600_egpio handling code and
definitions.
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
gpiolib
Use of gpio_request/gpio_free in some callbacks may look ugly, but
corresponding drivers (sa1100_serial and sa1100_fb) don't provide (yet)
init/exit hooks and registering these gpios in *_mach_init is also
not possible, because htc-gpio driver starts a bit later...
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
It will be used for future conversion of assign_h3600_egpio calls to
gpiolib.
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
h3100 and h3600 have different sets of LCD-controlling gpios,
which mapped to the same "abstracted" EGPIO.
As we plan to get rid of those abstracted egpios completely, we
need to separate these helper functions.
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
Convert all operations with GPLR/GPCR/GPSR to gpiolibs calls.
Also change all IRQ_GPIO* to gpio_to_irq(*GPIO*)
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
sa1100_fb driver handles this
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
PM_SUSPEND, PM_RESUME and machine_is_h3xxx() are not used anywhere in
kernel (checked with git grep), so it's safe to remove them.
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
IRDA is handled by separate sa1100-ir driver and has
nothing to do with sa1100_serial
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
Signed-off-by: Dmitry Artamonow <[email protected]>
Signed-off-by: Russell King <[email protected]>
|
|
The rtc-sa1100 driver takes care of this.
Signed-off-by: Russell King <[email protected]>
|
|
No point calling sa1100_register_uart_fns early - these aren't
used until late in the boot sequence. Also convert to gpiolib
support.
Signed-off-by: Russell King <[email protected]>
|
|
Signed-off-by: Russell King <[email protected]>
|
|
Signed-off-by: Russell King <[email protected]>
|
|
Signed-off-by: Russell King <[email protected]>
|
|
Signed-off-by: Russell King <[email protected]>
|
|
Only register devices if we have platform data for those which require
platform data.
Signed-off-by: Russell King <[email protected]>
|
|
There is nothing sensors-specific to i2c-stub.
Signed-off-by: Jean Delvare <[email protected]>
|
|
Add a module parameter to override the functionality bitfield. This
lets the user disable some commands. This can be used to force a chip
driver to take different code paths.
Signed-off-by: Jean Delvare <[email protected]>
|
|
This is required to test some drivers, for example at24.
Signed-off-by: Jean Delvare <[email protected]>
|
|
Functions i2c_do_add_adapter() and __attach_adapter() do essentially
the same thing, differing only in how the parameters are passed. Same
for i2c_do_add_adapter() and __detach_adapter(). Introduce wrappers to
normalize the parameters, so that we do not have to duplicate the
code.
Signed-off-by: Jean Delvare <[email protected]>
Cc: David Brownell <[email protected]>
|
|
The Intel 82801 is sometimes used on systems with a BMC connected. The
BMC can access the SMBus, resulting in lost arbitration for the 82801.
We should let i2c-core retry transactions for us in this case.
Signed-off-by: Jean Delvare <[email protected]>
|
|
The BKL is held over a kmalloc so cannot protect anything beyond that.
The two calls before the kmalloc have their own locking.
Improve device open function by removing the now unnecessary ret variable
Signed-off-by: Vincent Sanders <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Signed-off-by: Jean Delvare <[email protected]>
|
|
As kind is now hard-coded to -1, there is room for code clean-ups.
Signed-off-by: Jean Delvare <[email protected]>
Acked-by: "Darrick J. Wong" <[email protected]>
|
|
The kind parameter of i2c_detect_address() always has value -1, so we
can get rid of it.
Next step is to update all i2c detect callback functions to get rid of
this now useless parameter.
Signed-off-by: Jean Delvare <[email protected]>
|
|
The legacy probe and force module parameters are obsolete now, the
same can be achieved using the new_device sysfs interface, which is
both more flexible and cheaper (it is implemented by i2c-core rather
than replicated in every driver module.)
The legacy ignore module parameters can be dropped as well. Ignoring
can be done by instantiating a "dummy" device at the problematic
address.
This is the first step of a huge cleanup to i2c-core's i2c_detect
function, i2c.h's I2C_CLIENT_INSMOD* macros, and all drivers that made
use of them.
Signed-off-by: Jean Delvare <[email protected]>
|
|
These _setup functions are called from _probe so they can be marked
__devinit.
Signed-off-by: Jean Delvare <[email protected]>
|
|
I2C bus drivers don't have to support I2C_M_REV_DIR_ADDR. It is a
deviation from the I2C specification, which only makes sense to
implement when really needed.
Signed-off-by: Jean Delvare <[email protected]>
Cc: Ben Dooks <[email protected]>
|
|
Low priority thread holding the i2c bus mutex could block higher
priority threads to access the bus resulting in unacceptable
latencies. Change the mutex type to rt_mutex preventing priority
inversion.
Tested-by: Peter Ujfalusi <[email protected]>
Signed-off-by: Mika Kuoppala <[email protected]>
Signed-off-by: Jean Delvare <[email protected]>
|
|
Superseded by tdfxfb. I2C/DDC support used to live in a separate
driver but this caused driver conflicts.
Signed-off-by: Jean Delvare <[email protected]>
Cc: Krzysztof Helt <[email protected]>
|
|
We no longer need to write the adapter name to a temporary buffer.
We can write it directly to the i2c_adapter's name field. This is
more efficient.
Signed-off-by: Jean Delvare <[email protected]>
Tested-by: Michel Daenzer <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
|
|
Include the i2c_adapter in struct pmac_i2c_bus. This avoids memory
fragmentation and allows for several code cleanups.
Signed-off-by: Jean Delvare <[email protected]>
Tested-by: Michel Daenzer <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
|
|
Log errors when they happen, otherwise we have no idea what went
wrong.
Signed-off-by: Jean Delvare <[email protected]>
Tested-by: Michel Daenzer <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
Cc: Paul Mackerras <[email protected]>
|