ACPI: Rename acpi_gsi_get_irq_type to acpi_dev_get_irq_type and export symbol
acpi_gsi_get_irq_type could be use out of GSI purpose. Rename and make it available as a resource function. Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
74bf8efb5f
commit
55a93417c2
|
@ -17,25 +17,6 @@ enum acpi_irq_model_id acpi_irq_model;
|
|||
|
||||
static struct fwnode_handle *acpi_gsi_domain_id;
|
||||
|
||||
static unsigned int acpi_gsi_get_irq_type(int trigger, int polarity)
|
||||
{
|
||||
switch (polarity) {
|
||||
case ACPI_ACTIVE_LOW:
|
||||
return trigger == ACPI_EDGE_SENSITIVE ?
|
||||
IRQ_TYPE_EDGE_FALLING :
|
||||
IRQ_TYPE_LEVEL_LOW;
|
||||
case ACPI_ACTIVE_HIGH:
|
||||
return trigger == ACPI_EDGE_SENSITIVE ?
|
||||
IRQ_TYPE_EDGE_RISING :
|
||||
IRQ_TYPE_LEVEL_HIGH;
|
||||
case ACPI_ACTIVE_BOTH:
|
||||
if (trigger == ACPI_EDGE_SENSITIVE)
|
||||
return IRQ_TYPE_EDGE_BOTH;
|
||||
default:
|
||||
return IRQ_TYPE_NONE;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* acpi_gsi_to_irq() - Retrieve the linux irq number for a given GSI
|
||||
* @gsi: GSI IRQ number to map
|
||||
|
@ -82,7 +63,7 @@ int acpi_register_gsi(struct device *dev, u32 gsi, int trigger,
|
|||
|
||||
fwspec.fwnode = acpi_gsi_domain_id;
|
||||
fwspec.param[0] = gsi;
|
||||
fwspec.param[1] = acpi_gsi_get_irq_type(trigger, polarity);
|
||||
fwspec.param[1] = acpi_dev_get_irq_type(trigger, polarity);
|
||||
fwspec.param_count = 2;
|
||||
|
||||
return irq_create_fwspec_mapping(&fwspec);
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include <linux/export.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/irq.h>
|
||||
|
||||
#ifdef CONFIG_X86
|
||||
#define valid_IRQ(i) (((i) != 0) && ((i) != 2))
|
||||
|
@ -336,6 +337,31 @@ unsigned long acpi_dev_irq_flags(u8 triggering, u8 polarity, u8 shareable)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(acpi_dev_irq_flags);
|
||||
|
||||
/**
|
||||
* acpi_dev_get_irq_type - Determine irq type.
|
||||
* @triggering: Triggering type as provided by ACPI.
|
||||
* @polarity: Interrupt polarity as provided by ACPI.
|
||||
*/
|
||||
unsigned int acpi_dev_get_irq_type(int triggering, int polarity)
|
||||
{
|
||||
switch (polarity) {
|
||||
case ACPI_ACTIVE_LOW:
|
||||
return triggering == ACPI_EDGE_SENSITIVE ?
|
||||
IRQ_TYPE_EDGE_FALLING :
|
||||
IRQ_TYPE_LEVEL_LOW;
|
||||
case ACPI_ACTIVE_HIGH:
|
||||
return triggering == ACPI_EDGE_SENSITIVE ?
|
||||
IRQ_TYPE_EDGE_RISING :
|
||||
IRQ_TYPE_LEVEL_HIGH;
|
||||
case ACPI_ACTIVE_BOTH:
|
||||
if (triggering == ACPI_EDGE_SENSITIVE)
|
||||
return IRQ_TYPE_EDGE_BOTH;
|
||||
default:
|
||||
return IRQ_TYPE_NONE;
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(acpi_dev_get_irq_type);
|
||||
|
||||
static void acpi_dev_irqresource_disabled(struct resource *res, u32 gsi)
|
||||
{
|
||||
res->start = gsi;
|
||||
|
|
|
@ -318,6 +318,7 @@ bool acpi_dev_resource_address_space(struct acpi_resource *ares,
|
|||
bool acpi_dev_resource_ext_address_space(struct acpi_resource *ares,
|
||||
struct resource_win *win);
|
||||
unsigned long acpi_dev_irq_flags(u8 triggering, u8 polarity, u8 shareable);
|
||||
unsigned int acpi_dev_get_irq_type(int triggering, int polarity);
|
||||
bool acpi_dev_resource_interrupt(struct acpi_resource *ares, int index,
|
||||
struct resource *res);
|
||||
|
||||
|
|
Loading…
Reference in New Issue