25.11.2021 12:07, Akhil R пишет:
Add support for the ACPI based device registration so that the driver can be also enabled through ACPI table.
This does not include the ACPI support for Tegra VI and DVC I2C.
Signed-off-by: Akhil R akhilrajeev@nvidia.com
drivers/i2c/busses/i2c-tegra.c | 52 ++++++++++++++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 12 deletions(-)
v3 changes
- removed acpi_has_method check.
- moved dev_err_probe to init_reset function to make it consistent with
init_clocks.
- Updates in commit message as suggested.
v2 - https://lkml.org/lkml/2021/11/23/82 v1 - https://lkml.org/lkml/2021/11/19/393
Akhil, the patch looks almost good, thank you. Please see one minor question below.
diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c index c883044..b889eb3 100644 --- a/drivers/i2c/busses/i2c-tegra.c +++ b/drivers/i2c/busses/i2c-tegra.c @@ -6,6 +6,7 @@
- Author: Colin Cross ccross@android.com
*/ +#include <linux/acpi.h> #include <linux/bitfield.h> #include <linux/clk.h> #include <linux/delay.h> @@ -608,6 +609,7 @@ static int tegra_i2c_wait_for_config_load(struct tegra_i2c_dev *i2c_dev) static int tegra_i2c_init(struct tegra_i2c_dev *i2c_dev) { u32 val, clk_divisor, clk_multiplier, tsu_thd, tlow, thigh, non_hs_mode;
- acpi_handle handle = ACPI_HANDLE(i2c_dev->dev);
...
+static int tegra_i2c_init_reset(struct tegra_i2c_dev *i2c_dev) +{
- if (has_acpi_companion(i2c_dev->dev))
return 0;
Can we use ACPI_HANDLE() everywhere instead of has_acpi_companion()? For consistency. I guess that's what Andy was asking about in v1?