Unverified Commit 61eae68f authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!7651 fix the SPI driver failed to obtain the GPIO pin

Merge Pull Request from: @barbo 
 
from upstream(Andy Shevchenko)
a164ff53 driver core: Provide device_match_acpi_handle() helper
from OLK-6.6(Devyn Liu)
fe9e7848 gpiolib: acpi: Fix failed in acpi_gpiochip_find() by adding parent node match
issue:[I9QV07](https://gitee.com/openeuler/kernel/issues/I9QV07?from=project-issue) 
 
Link:https://gitee.com/openeuler/kernel/pulls/7651

 

Signed-off-by: default avatarJialin Zhang <zhangjialin11@huawei.com>
parents 9a359254 9949926a
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -4422,6 +4422,12 @@ int device_match_acpi_dev(struct device *dev, const void *adev)
}
EXPORT_SYMBOL(device_match_acpi_dev);

int device_match_acpi_handle(struct device *dev, const void *handle)
{
	return ACPI_HANDLE(dev) == handle;
}
EXPORT_SYMBOL(device_match_acpi_handle);

int device_match_any(struct device *dev, const void *unused)
{
	return 1;
+2 −4
Original line number Diff line number Diff line
@@ -95,10 +95,8 @@ static bool acpi_gpio_deferred_req_irqs_done;

static int acpi_gpiochip_find(struct gpio_chip *gc, void *data)
{
	if (!gc->parent)
		return false;

	return ACPI_HANDLE(gc->parent) == data;
	return device_match_acpi_handle(&gc->gpiodev->dev, data) ||
		(gc->parent && device_match_acpi_handle(gc->parent, data));
}

/**
+1 −0
Original line number Diff line number Diff line
@@ -143,6 +143,7 @@ int device_match_of_node(struct device *dev, const void *np);
int device_match_fwnode(struct device *dev, const void *fwnode);
int device_match_devt(struct device *dev, const void *pdevt);
int device_match_acpi_dev(struct device *dev, const void *adev);
int device_match_acpi_handle(struct device *dev, const void *handle);
int device_match_any(struct device *dev, const void *unused);

/* iterator helpers for buses */