forked from luck/tmp_suning_uos_patched
i2c-pnx: Fix interrupt handler, get rid of EARLY config option
This fixes two issues raised by David Brownell on the i2c list: << Someone needs to update i2c-pnx.c to handle the IRQ handler doesn't expect pt_regs (gone now for a while), and so it doesn't try to reference "mudule_init()" if I2C isn't initialized "early". For that matter, to get rid of that _option_ to initialize then, and always init that driver with subsystem_init() ... it's common with embedded systems to need I2C access to tweak a GPIO expander or do some other work when bringing up drivers, that's not specific to USB stacks. >> Signed-off-by: Vitaly Wool <vitalywool@gmail.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
This commit is contained in:
parent
a7ec3f5289
commit
6c566fb7b3
@ -564,13 +564,4 @@ config I2C_PNX
|
||||
This driver can also be built as a module. If so, the module
|
||||
will be called i2c-pnx.
|
||||
|
||||
config I2C_PNX_EARLY
|
||||
bool "Early initialization for I2C on PNXxxxx"
|
||||
depends on I2C_PNX=y
|
||||
help
|
||||
Under certain circumstances one may need to make sure I2C on PNXxxxx
|
||||
is initialized earlier than some other driver that depends on it
|
||||
(for instance, that might be USB in case of PNX4008). With this
|
||||
option turned on you can guarantee that.
|
||||
|
||||
endmenu
|
||||
|
@ -305,8 +305,7 @@ static int i2c_pnx_master_rcv(struct i2c_adapter *adap)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static irqreturn_t
|
||||
i2c_pnx_interrupt(int irq, void *dev_id, struct pt_regs *regs)
|
||||
static irqreturn_t i2c_pnx_interrupt(int irq, void *dev_id)
|
||||
{
|
||||
u32 stat, ctl;
|
||||
struct i2c_adapter *adap = dev_id;
|
||||
@ -699,10 +698,6 @@ MODULE_AUTHOR("Vitaly Wool, Dennis Kovalev <source@mvista.com>");
|
||||
MODULE_DESCRIPTION("I2C driver for Philips IP3204-based I2C busses");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
#ifdef CONFIG_I2C_PNX_EARLY
|
||||
/* We need to make sure I2C is initialized before USB */
|
||||
subsys_initcall(i2c_adap_pnx_init);
|
||||
#else
|
||||
mudule_init(i2c_adap_pnx_init);
|
||||
#endif
|
||||
module_exit(i2c_adap_pnx_exit);
|
||||
|
Loading…
Reference in New Issue
Block a user