drivers: i2c: rename IRQ SHARED/DIRECT Kconfig options
I2C_SHARED_IRQ, I2C_0_IRQ_SHARED, I2C_0_IRQ_DIRECT Kconfig options are DW driver specific. Its presence is confusing for a user of any other I2C driver than DW. This patch renames these options to include DW string and makes it visible only for DW I2C driver. This is a similar implementation to that used by ETH DW Ethernet driver. Change-Id: I795506f9b103c028a22317df9ad632dce5cd1343 Signed-off-by: Piotr Mienkowski <piotr.mienkowski@gmail.com>
This commit is contained in:
parent
108111fd42
commit
a8de9ff438
5 changed files with 20 additions and 20 deletions
|
@ -82,7 +82,7 @@ config I2C_0_DEFAULT_CFG
|
|||
default 0x12
|
||||
config I2C_0_IRQ_PRI
|
||||
default 2
|
||||
config I2C_0_IRQ_SHARED_NAME
|
||||
config I2C_DW_0_IRQ_SHARED_NAME
|
||||
default SHARED_IRQ_0_NAME if SHARED_IRQ
|
||||
|
||||
endif # I2C_0
|
||||
|
|
|
@ -15,7 +15,7 @@ CONFIG_GPIO_DW_0_IRQ_SHARED=y
|
|||
CONFIG_I2C=y
|
||||
CONFIG_I2C_DW=y
|
||||
CONFIG_I2C_0=y
|
||||
CONFIG_I2C_0_IRQ_SHARED=y
|
||||
CONFIG_I2C_DW_0_IRQ_SHARED=y
|
||||
CONFIG_GPIO_PCAL9535A=y
|
||||
CONFIG_GPIO_SCH=y
|
||||
CONFIG_GPIO_SCH_0=y
|
||||
|
|
|
@ -132,35 +132,35 @@ config SYS_LOG_I2C_LEVEL
|
|||
|
||||
- 4 DEBUG, write SYS_LOG_DBG in adition to previous levels
|
||||
|
||||
config I2C_SHARED_IRQ
|
||||
config I2C_DW_SHARED_IRQ
|
||||
bool
|
||||
default n
|
||||
depends on I2C
|
||||
depends on I2C && I2C_DW
|
||||
|
||||
choice
|
||||
prompt "I2C_0 Interrupts via"
|
||||
default I2C_0_IRQ_DIRECT
|
||||
depends on I2C_0
|
||||
default I2C_DW_0_IRQ_DIRECT
|
||||
depends on I2C_0 && I2C_DW
|
||||
|
||||
config I2C_0_IRQ_DIRECT
|
||||
config I2C_DW_0_IRQ_DIRECT
|
||||
bool "Direct Hardware Interrupt"
|
||||
help
|
||||
When interrupts fire, the driver's ISR function is being called
|
||||
directly.
|
||||
|
||||
config I2C_0_IRQ_SHARED
|
||||
config I2C_DW_0_IRQ_SHARED
|
||||
bool "Shared IRQ"
|
||||
depends on SHARED_IRQ
|
||||
select I2C_SHARED_IRQ
|
||||
select I2C_DW_SHARED_IRQ
|
||||
help
|
||||
When interrupts fire, the shared IRQ driver is notified.
|
||||
Then the shared IRQ driver dispatches the interrupt to other drivers.
|
||||
|
||||
endchoice
|
||||
|
||||
config I2C_0_IRQ_SHARED_NAME
|
||||
config I2C_DW_0_IRQ_SHARED_NAME
|
||||
string "Device name for Shared IRQ"
|
||||
depends on I2C_0 && I2C_0_IRQ_SHARED
|
||||
depends on I2C_0 && I2C_DW_0_IRQ_SHARED
|
||||
help
|
||||
Specify the device name for the shared IRQ driver. It is used
|
||||
to register this driver with the shared IRQ driver, so interrupts
|
||||
|
@ -189,7 +189,7 @@ config I2C_0_DEFAULT_CFG
|
|||
|
||||
config I2C_0_IRQ_PRI
|
||||
int "Controller interrupt priority"
|
||||
depends on I2C_0 && I2C_0_IRQ_DIRECT
|
||||
depends on I2C_0
|
||||
help
|
||||
IRQ priority.
|
||||
|
||||
|
@ -216,7 +216,7 @@ config I2C_1_DEFAULT_CFG
|
|||
|
||||
config I2C_1_IRQ_PRI
|
||||
int "Controller interrupt priority"
|
||||
depends on I2C_1 && I2C_0_IRQ_DIRECT
|
||||
depends on I2C_1
|
||||
help
|
||||
IRQ priority.
|
||||
|
||||
|
@ -243,7 +243,7 @@ config I2C_2_DEFAULT_CFG
|
|||
|
||||
config I2C_2_IRQ_PRI
|
||||
int "Controller interrupt priority"
|
||||
depends on I2C_2 && I2C_0_IRQ_DIRECT
|
||||
depends on I2C_2
|
||||
help
|
||||
IRQ priority.
|
||||
|
||||
|
|
|
@ -705,13 +705,13 @@ static int i2c_dw_initialize(struct device *port)
|
|||
static void i2c_config_0(struct device *port);
|
||||
|
||||
static const struct i2c_dw_rom_config i2c_config_dw_0 = {
|
||||
#ifdef CONFIG_I2C_0_IRQ_DIRECT
|
||||
#ifdef CONFIG_I2C_DW_0_IRQ_DIRECT
|
||||
.irq_num = I2C_DW_0_IRQ,
|
||||
#endif
|
||||
.config_func = i2c_config_0,
|
||||
|
||||
#ifdef CONFIG_GPIO_DW_0_IRQ_SHARED
|
||||
.shared_irq_dev_name = CONFIG_I2C_0_IRQ_SHARED_NAME,
|
||||
.shared_irq_dev_name = CONFIG_I2C_DW_0_IRQ_SHARED_NAME,
|
||||
#endif
|
||||
};
|
||||
|
||||
|
@ -736,11 +736,11 @@ DEVICE_AND_API_INIT(i2c_0, CONFIG_I2C_0_NAME, &i2c_dw_initialize,
|
|||
|
||||
static void i2c_config_0(struct device *port)
|
||||
{
|
||||
#if defined(CONFIG_I2C_0_IRQ_DIRECT)
|
||||
#if defined(CONFIG_I2C_DW_0_IRQ_DIRECT)
|
||||
IRQ_CONNECT(I2C_DW_0_IRQ, CONFIG_I2C_0_IRQ_PRI,
|
||||
i2c_dw_isr, DEVICE_GET(i2c_0), I2C_DW_IRQ_FLAGS);
|
||||
irq_enable(I2C_DW_0_IRQ);
|
||||
#elif defined(CONFIG_I2C_0_IRQ_SHARED)
|
||||
#elif defined(CONFIG_I2C_DW_0_IRQ_SHARED)
|
||||
const struct i2c_dw_rom_config * const config =
|
||||
port->config->config_info;
|
||||
struct device *shared_irq_dev;
|
||||
|
|
|
@ -89,9 +89,9 @@ struct i2c_dw_rom_config {
|
|||
uint32_t interrupt_mask;
|
||||
i2c_isr_cb_t config_func;
|
||||
|
||||
#ifdef CONFIG_I2C_SHARED_IRQ
|
||||
#ifdef CONFIG_I2C_DW_SHARED_IRQ
|
||||
char *shared_irq_dev_name;
|
||||
#endif /* CONFIG_I2C_SHARED_IRQ */
|
||||
#endif /* CONFIG_I2C_DW_SHARED_IRQ */
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue