@@ -945,14 +945,11 @@ static bool acpi_can_fallback_to_crs(struct acpi_device *adev,
945
945
return con_id == NULL ;
946
946
}
947
947
948
- struct gpio_desc * acpi_find_gpio (struct fwnode_handle * fwnode ,
949
- const char * con_id ,
950
- unsigned int idx ,
951
- enum gpiod_flags * dflags ,
952
- unsigned long * lookupflags )
948
+ static struct gpio_desc *
949
+ __acpi_find_gpio (struct fwnode_handle * fwnode , const char * con_id , unsigned int idx ,
950
+ struct acpi_gpio_info * info )
953
951
{
954
952
struct acpi_device * adev = to_acpi_device_node (fwnode );
955
- struct acpi_gpio_info info ;
956
953
struct gpio_desc * desc ;
957
954
char propname [32 ];
958
955
int i ;
@@ -969,10 +966,10 @@ struct gpio_desc *acpi_find_gpio(struct fwnode_handle *fwnode,
969
966
970
967
if (adev )
971
968
desc = acpi_get_gpiod_by_index (adev ,
972
- propname , idx , & info );
969
+ propname , idx , info );
973
970
else
974
971
desc = acpi_get_gpiod_from_data (fwnode ,
975
- propname , idx , & info );
972
+ propname , idx , info );
976
973
if (PTR_ERR (desc ) == - EPROBE_DEFER )
977
974
return ERR_CAST (desc );
978
975
@@ -985,11 +982,28 @@ struct gpio_desc *acpi_find_gpio(struct fwnode_handle *fwnode,
985
982
if (!adev || !acpi_can_fallback_to_crs (adev , con_id ))
986
983
return ERR_PTR (- ENOENT );
987
984
988
- desc = acpi_get_gpiod_by_index (adev , NULL , idx , & info );
985
+ desc = acpi_get_gpiod_by_index (adev , NULL , idx , info );
989
986
if (IS_ERR (desc ))
990
987
return desc ;
991
988
}
992
989
990
+ return desc ;
991
+ }
992
+
993
+ struct gpio_desc * acpi_find_gpio (struct fwnode_handle * fwnode ,
994
+ const char * con_id ,
995
+ unsigned int idx ,
996
+ enum gpiod_flags * dflags ,
997
+ unsigned long * lookupflags )
998
+ {
999
+ struct acpi_device * adev = to_acpi_device_node (fwnode );
1000
+ struct acpi_gpio_info info ;
1001
+ struct gpio_desc * desc ;
1002
+
1003
+ desc = __acpi_find_gpio (fwnode , con_id , idx , & info );
1004
+ if (IS_ERR (desc ))
1005
+ return desc ;
1006
+
993
1007
if (info .gpioint &&
994
1008
(* dflags == GPIOD_OUT_LOW || * dflags == GPIOD_OUT_HIGH )) {
995
1009
dev_dbg (& adev -> dev , "refusing GpioInt() entry when doing GPIOD_OUT_* lookup\n" );
0 commit comments