Commit a0cd9ca2 authored by Thomas Gleixner's avatar Thomas Gleixner

genirq: Namespace cleanup

The irq namespace has become quite convoluted. My bad.  Clean it up
and deprecate the old functions. All new functions follow the scheme:

irq number based:
    irq_set/get/xxx/_xxx(unsigned int irq, ...)

irq_data based:
	 irq_data_set/get/xxx/_xxx(struct irq_data *d, ....)

irq_desc based:
	 irq_desc_get_xxx(struct irq_desc *desc)
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent 43abe43c
...@@ -346,16 +346,24 @@ static inline void enable_irq_lockdep_irqrestore(unsigned int irq, unsigned long ...@@ -346,16 +346,24 @@ static inline void enable_irq_lockdep_irqrestore(unsigned int irq, unsigned long
} }
/* IRQ wakeup (PM) control: */ /* IRQ wakeup (PM) control: */
extern int set_irq_wake(unsigned int irq, unsigned int on); extern int irq_set_irq_wake(unsigned int irq, unsigned int on);
#ifndef CONFIG_GENERIC_HARDIRQS_NO_COMPAT
/* Please do not use: Use the replacement functions instead */
static inline int set_irq_wake(unsigned int irq, unsigned int on)
{
return irq_set_irq_wake(irq, on);
}
#endif
static inline int enable_irq_wake(unsigned int irq) static inline int enable_irq_wake(unsigned int irq)
{ {
return set_irq_wake(irq, 1); return irq_set_irq_wake(irq, 1);
} }
static inline int disable_irq_wake(unsigned int irq) static inline int disable_irq_wake(unsigned int irq)
{ {
return set_irq_wake(irq, 0); return irq_set_irq_wake(irq, 0);
} }
#else /* !CONFIG_GENERIC_HARDIRQS */ #else /* !CONFIG_GENERIC_HARDIRQS */
......
...@@ -292,8 +292,7 @@ set_irq_handler(unsigned int irq, irq_flow_handler_t handle) ...@@ -292,8 +292,7 @@ set_irq_handler(unsigned int irq, irq_flow_handler_t handle)
* IRQ_NOREQUEST and IRQ_NOPROBE) * IRQ_NOREQUEST and IRQ_NOPROBE)
*/ */
static inline void static inline void
set_irq_chained_handler(unsigned int irq, set_irq_chained_handler(unsigned int irq, irq_flow_handler_t handle)
irq_flow_handler_t handle)
{ {
__set_irq_handler(irq, handle, 1, NULL); __set_irq_handler(irq, handle, 1, NULL);
} }
...@@ -312,12 +311,12 @@ static inline void irq_clear_status_flags(unsigned int irq, unsigned long clr) ...@@ -312,12 +311,12 @@ static inline void irq_clear_status_flags(unsigned int irq, unsigned long clr)
irq_modify_status(irq, clr, 0); irq_modify_status(irq, clr, 0);
} }
static inline void set_irq_noprobe(unsigned int irq) static inline void irq_set_noprobe(unsigned int irq)
{ {
irq_modify_status(irq, 0, IRQ_NOPROBE); irq_modify_status(irq, 0, IRQ_NOPROBE);
} }
static inline void set_irq_probe(unsigned int irq) static inline void irq_set_probe(unsigned int irq)
{ {
irq_modify_status(irq, IRQ_NOPROBE, 0); irq_modify_status(irq, IRQ_NOPROBE, 0);
} }
...@@ -338,14 +337,14 @@ static inline void dynamic_irq_init(unsigned int irq) ...@@ -338,14 +337,14 @@ static inline void dynamic_irq_init(unsigned int irq)
} }
/* Set/get chip/data for an IRQ: */ /* Set/get chip/data for an IRQ: */
extern int set_irq_chip(unsigned int irq, struct irq_chip *chip); extern int irq_set_chip(unsigned int irq, struct irq_chip *chip);
extern int set_irq_data(unsigned int irq, void *data); extern int irq_set_handler_data(unsigned int irq, void *data);
extern int set_irq_chip_data(unsigned int irq, void *data); extern int irq_set_chip_data(unsigned int irq, void *data);
extern int set_irq_type(unsigned int irq, unsigned int type); extern int irq_set_irq_type(unsigned int irq, unsigned int type);
extern int set_irq_msi(unsigned int irq, struct msi_desc *entry); extern int irq_set_msi_desc(unsigned int irq, struct msi_desc *entry);
extern struct irq_data *irq_get_irq_data(unsigned int irq); extern struct irq_data *irq_get_irq_data(unsigned int irq);
static inline struct irq_chip *get_irq_chip(unsigned int irq) static inline struct irq_chip *irq_get_chip(unsigned int irq)
{ {
struct irq_data *d = irq_get_irq_data(irq); struct irq_data *d = irq_get_irq_data(irq);
return d ? d->chip : NULL; return d ? d->chip : NULL;
...@@ -356,7 +355,7 @@ static inline struct irq_chip *irq_data_get_irq_chip(struct irq_data *d) ...@@ -356,7 +355,7 @@ static inline struct irq_chip *irq_data_get_irq_chip(struct irq_data *d)
return d->chip; return d->chip;
} }
static inline void *get_irq_chip_data(unsigned int irq) static inline void *irq_get_chip_data(unsigned int irq)
{ {
struct irq_data *d = irq_get_irq_data(irq); struct irq_data *d = irq_get_irq_data(irq);
return d ? d->chip_data : NULL; return d ? d->chip_data : NULL;
...@@ -367,18 +366,18 @@ static inline void *irq_data_get_irq_chip_data(struct irq_data *d) ...@@ -367,18 +366,18 @@ static inline void *irq_data_get_irq_chip_data(struct irq_data *d)
return d->chip_data; return d->chip_data;
} }
static inline void *get_irq_data(unsigned int irq) static inline void *irq_get_handler_data(unsigned int irq)
{ {
struct irq_data *d = irq_get_irq_data(irq); struct irq_data *d = irq_get_irq_data(irq);
return d ? d->handler_data : NULL; return d ? d->handler_data : NULL;
} }
static inline void *irq_data_get_irq_data(struct irq_data *d) static inline void *irq_data_get_irq_handler_data(struct irq_data *d)
{ {
return d->handler_data; return d->handler_data;
} }
static inline struct msi_desc *get_irq_msi(unsigned int irq) static inline struct msi_desc *irq_get_msi_desc(unsigned int irq)
{ {
struct irq_data *d = irq_get_irq_data(irq); struct irq_data *d = irq_get_irq_data(irq);
return d ? d->msi_desc : NULL; return d ? d->msi_desc : NULL;
...@@ -389,6 +388,58 @@ static inline struct msi_desc *irq_data_get_msi(struct irq_data *d) ...@@ -389,6 +388,58 @@ static inline struct msi_desc *irq_data_get_msi(struct irq_data *d)
return d->msi_desc; return d->msi_desc;
} }
#ifndef CONFIG_GENERIC_HARDIRQS_NO_COMPAT
/* Please do not use: Use the replacement functions instead */
static inline int set_irq_chip(unsigned int irq, struct irq_chip *chip)
{
return irq_set_chip(irq, chip);
}
static inline int set_irq_data(unsigned int irq, void *data)
{
return irq_set_handler_data(irq, data);
}
static inline int set_irq_chip_data(unsigned int irq, void *data)
{
return irq_set_chip_data(irq, data);
}
static inline int set_irq_type(unsigned int irq, unsigned int type)
{
return irq_set_irq_type(irq, type);
}
static inline int set_irq_msi(unsigned int irq, struct msi_desc *entry)
{
return irq_set_msi_desc(irq, entry);
}
static inline struct irq_chip *get_irq_chip(unsigned int irq)
{
return irq_get_chip(irq);
}
static inline void *get_irq_chip_data(unsigned int irq)
{
return irq_get_chip_data(irq);
}
static inline void *get_irq_data(unsigned int irq)
{
return irq_get_handler_data(irq);
}
static inline void *irq_data_get_irq_data(struct irq_data *d)
{
return irq_data_get_irq_handler_data(d);
}
static inline struct msi_desc *get_irq_msi(unsigned int irq)
{
return irq_get_msi_desc(irq);
}
static inline void set_irq_noprobe(unsigned int irq)
{
irq_set_noprobe(irq);
}
static inline void set_irq_probe(unsigned int irq)
{
irq_set_probe(irq);
}
#endif
int irq_alloc_descs(int irq, unsigned int from, unsigned int cnt, int node); int irq_alloc_descs(int irq, unsigned int from, unsigned int cnt, int node);
void irq_free_descs(unsigned int irq, unsigned int cnt); void irq_free_descs(unsigned int irq, unsigned int cnt);
int irq_reserve_irqs(unsigned int from, unsigned int cnt); int irq_reserve_irqs(unsigned int from, unsigned int cnt);
......
...@@ -98,10 +98,46 @@ static inline struct irq_desc *move_irq_desc(struct irq_desc *desc, int node) ...@@ -98,10 +98,46 @@ static inline struct irq_desc *move_irq_desc(struct irq_desc *desc, int node)
#ifdef CONFIG_GENERIC_HARDIRQS #ifdef CONFIG_GENERIC_HARDIRQS
#define get_irq_desc_chip(desc) ((desc)->irq_data.chip) static inline struct irq_chip *irq_desc_get_chip(struct irq_desc *desc)
#define get_irq_desc_chip_data(desc) ((desc)->irq_data.chip_data) {
#define get_irq_desc_data(desc) ((desc)->irq_data.handler_data) return desc->irq_data.chip;
#define get_irq_desc_msi(desc) ((desc)->irq_data.msi_desc) }
static inline void *irq_desc_get_chip_data(struct irq_desc *desc)
{
return desc->irq_data.chip_data;
}
static inline void *irq_desc_get_handler_data(struct irq_desc *desc)
{
return desc->irq_data.handler_data;
}
static inline struct msi_desc *irq_desc_get_msi_desc(struct irq_desc *desc)
{
return desc->irq_data.msi_desc;
}
#ifndef CONFIG_GENERIC_HARDIRQS_NO_COMPAT
static inline struct irq_chip *get_irq_desc_chip(struct irq_desc *desc)
{
return irq_desc_get_chip(desc);
}
static inline void *get_irq_desc_data(struct irq_desc *desc)
{
return irq_desc_get_handler_data(desc);
}
static inline void *get_irq_desc_chip_data(struct irq_desc *desc)
{
return irq_desc_get_chip_data(desc);
}
static inline struct msi_desc *get_irq_desc_msi(struct irq_desc *desc)
{
return irq_desc_get_msi_desc(desc);
}
#endif
/* /*
* Architectures call this to let the generic IRQ layer * Architectures call this to let the generic IRQ layer
......
...@@ -19,11 +19,11 @@ ...@@ -19,11 +19,11 @@
#include "internals.h" #include "internals.h"
/** /**
* set_irq_chip - set the irq chip for an irq * irq_set_chip - set the irq chip for an irq
* @irq: irq number * @irq: irq number
* @chip: pointer to irq chip description structure * @chip: pointer to irq chip description structure
*/ */
int set_irq_chip(unsigned int irq, struct irq_chip *chip) int irq_set_chip(unsigned int irq, struct irq_chip *chip)
{ {
struct irq_desc *desc = irq_to_desc(irq); struct irq_desc *desc = irq_to_desc(irq);
unsigned long flags; unsigned long flags;
...@@ -43,14 +43,14 @@ int set_irq_chip(unsigned int irq, struct irq_chip *chip) ...@@ -43,14 +43,14 @@ int set_irq_chip(unsigned int irq, struct irq_chip *chip)
return 0; return 0;
} }
EXPORT_SYMBOL(set_irq_chip); EXPORT_SYMBOL(irq_set_chip);
/** /**
* set_irq_type - set the irq trigger type for an irq * irq_set_type - set the irq trigger type for an irq
* @irq: irq number * @irq: irq number
* @type: IRQ_TYPE_{LEVEL,EDGE}_* value - see include/linux/irq.h * @type: IRQ_TYPE_{LEVEL,EDGE}_* value - see include/linux/irq.h
*/ */
int set_irq_type(unsigned int irq, unsigned int type) int irq_set_irq_type(unsigned int irq, unsigned int type)
{ {
struct irq_desc *desc = irq_to_desc(irq); struct irq_desc *desc = irq_to_desc(irq);
unsigned long flags; unsigned long flags;
...@@ -72,16 +72,16 @@ int set_irq_type(unsigned int irq, unsigned int type) ...@@ -72,16 +72,16 @@ int set_irq_type(unsigned int irq, unsigned int type)
chip_bus_sync_unlock(desc); chip_bus_sync_unlock(desc);
return ret; return ret;
} }
EXPORT_SYMBOL(set_irq_type); EXPORT_SYMBOL(irq_set_irq_type);
/** /**
* set_irq_data - set irq type data for an irq * irq_set_handler_data - set irq handler data for an irq
* @irq: Interrupt number * @irq: Interrupt number
* @data: Pointer to interrupt specific data * @data: Pointer to interrupt specific data
* *
* Set the hardware irq controller data for an irq * Set the hardware irq controller data for an irq
*/ */
int set_irq_data(unsigned int irq, void *data) int irq_set_handler_data(unsigned int irq, void *data)
{ {
struct irq_desc *desc = irq_to_desc(irq); struct irq_desc *desc = irq_to_desc(irq);
unsigned long flags; unsigned long flags;
...@@ -97,16 +97,16 @@ int set_irq_data(unsigned int irq, void *data) ...@@ -97,16 +97,16 @@ int set_irq_data(unsigned int irq, void *data)
raw_spin_unlock_irqrestore(&desc->lock, flags); raw_spin_unlock_irqrestore(&desc->lock, flags);
return 0; return 0;
} }
EXPORT_SYMBOL(set_irq_data); EXPORT_SYMBOL(irq_set_handler_data);
/** /**
* set_irq_msi - set MSI descriptor data for an irq * irq_set_msi_desc - set MSI descriptor data for an irq
* @irq: Interrupt number * @irq: Interrupt number
* @entry: Pointer to MSI descriptor data * @entry: Pointer to MSI descriptor data
* *
* Set the MSI descriptor entry for an irq * Set the MSI descriptor entry for an irq
*/ */
int set_irq_msi(unsigned int irq, struct msi_desc *entry) int irq_set_msi_desc(unsigned int irq, struct msi_desc *entry)
{ {
struct irq_desc *desc = irq_to_desc(irq); struct irq_desc *desc = irq_to_desc(irq);
unsigned long flags; unsigned long flags;
...@@ -126,13 +126,13 @@ int set_irq_msi(unsigned int irq, struct msi_desc *entry) ...@@ -126,13 +126,13 @@ int set_irq_msi(unsigned int irq, struct msi_desc *entry)
} }
/** /**
* set_irq_chip_data - set irq chip data for an irq * irq_set_chip_data - set irq chip data for an irq
* @irq: Interrupt number * @irq: Interrupt number
* @data: Pointer to chip specific data * @data: Pointer to chip specific data
* *
* Set the hardware irq chip data for an irq * Set the hardware irq chip data for an irq
*/ */
int set_irq_chip_data(unsigned int irq, void *data) int irq_set_chip_data(unsigned int irq, void *data)
{ {
struct irq_desc *desc = irq_to_desc(irq); struct irq_desc *desc = irq_to_desc(irq);
unsigned long flags; unsigned long flags;
...@@ -154,7 +154,7 @@ int set_irq_chip_data(unsigned int irq, void *data) ...@@ -154,7 +154,7 @@ int set_irq_chip_data(unsigned int irq, void *data)
return 0; return 0;
} }
EXPORT_SYMBOL(set_irq_chip_data); EXPORT_SYMBOL(irq_set_chip_data);
struct irq_data *irq_get_irq_data(unsigned int irq) struct irq_data *irq_get_irq_data(unsigned int irq)
{ {
......
...@@ -434,7 +434,7 @@ static int set_irq_wake_real(unsigned int irq, unsigned int on) ...@@ -434,7 +434,7 @@ static int set_irq_wake_real(unsigned int irq, unsigned int on)
} }
/** /**
* set_irq_wake - control irq power management wakeup * irq_set_irq_wake - control irq power management wakeup
* @irq: interrupt to control * @irq: interrupt to control
* @on: enable/disable power management wakeup * @on: enable/disable power management wakeup
* *
...@@ -445,7 +445,7 @@ static int set_irq_wake_real(unsigned int irq, unsigned int on) ...@@ -445,7 +445,7 @@ static int set_irq_wake_real(unsigned int irq, unsigned int on)
* Wakeup mode lets this IRQ wake the system from sleep * Wakeup mode lets this IRQ wake the system from sleep
* states like "suspend to RAM". * states like "suspend to RAM".
*/ */
int set_irq_wake(unsigned int irq, unsigned int on) int irq_set_irq_wake(unsigned int irq, unsigned int on)
{ {
struct irq_desc *desc = irq_to_desc(irq); struct irq_desc *desc = irq_to_desc(irq);
unsigned long flags; unsigned long flags;
...@@ -480,7 +480,7 @@ int set_irq_wake(unsigned int irq, unsigned int on) ...@@ -480,7 +480,7 @@ int set_irq_wake(unsigned int irq, unsigned int on)
chip_bus_sync_unlock(desc); chip_bus_sync_unlock(desc);
return ret; return ret;
} }
EXPORT_SYMBOL(set_irq_wake); EXPORT_SYMBOL(irq_set_irq_wake);
/* /*
* Internal function that tells the architecture code whether a * Internal function that tells the architecture code whether a
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment