Skip to content

Commit

Permalink
i2c: acpi: Factor out getting the IRQ from ACPI
Browse files Browse the repository at this point in the history
In preparation for future refactoring factor out the fetch of the IRQ
into its own helper function. Whilst we are at it update the handling
to return the actual error code returned from acpi_dev_get_resources
as well.

Reviewed-by: Andy Shevchenko <[email protected]>
Signed-off-by: Charles Keepax <[email protected]>
Reviewed-by: Mika Westerberg <[email protected]>
Signed-off-by: Wolfram Sang <[email protected]>
  • Loading branch information
charleskeepax authored and Wolfram Sang committed Jun 29, 2019
1 parent c2223dd commit a52e3b3
Showing 1 changed file with 21 additions and 8 deletions.
29 changes: 21 additions & 8 deletions drivers/i2c/i2c-core-acpi.c
Original file line number Diff line number Diff line change
Expand Up @@ -148,12 +148,29 @@ static int i2c_acpi_add_resource(struct acpi_resource *ares, void *data)
return 1; /* No need to add resource to the list */
}

static int i2c_acpi_get_irq(struct acpi_device *adev)
{
struct list_head resource_list;
int irq = -ENOENT;
int ret;

INIT_LIST_HEAD(&resource_list);

ret = acpi_dev_get_resources(adev, &resource_list,
i2c_acpi_add_resource, &irq);
if (ret < 0)
return ret;

acpi_dev_free_resource_list(&resource_list);

return irq;
}

static int i2c_acpi_get_info(struct acpi_device *adev,
struct i2c_board_info *info,
struct i2c_adapter *adapter,
acpi_handle *adapter_handle)
{
struct list_head resource_list;
struct i2c_acpi_lookup lookup;
int ret;

Expand Down Expand Up @@ -185,13 +202,9 @@ static int i2c_acpi_get_info(struct acpi_device *adev,
*adapter_handle = lookup.adapter_handle;

/* Then fill IRQ number if any */
INIT_LIST_HEAD(&resource_list);
ret = acpi_dev_get_resources(adev, &resource_list,
i2c_acpi_add_resource, &info->irq);
if (ret < 0)
return -EINVAL;

acpi_dev_free_resource_list(&resource_list);
info->irq = i2c_acpi_get_irq(adev);
if (info->irq < 0)
return info->irq;

acpi_set_modalias(adev, dev_name(&adev->dev), info->type,
sizeof(info->type));
Expand Down

0 comments on commit a52e3b3

Please sign in to comment.