diff options
Diffstat (limited to 'drivers/platform/x86/intel')
| -rw-r--r-- | drivers/platform/x86/intel/int3472/clk_and_regulator.c | 3 | ||||
| -rw-r--r-- | drivers/platform/x86/intel/int3472/discrete.c | 4 | ||||
| -rw-r--r-- | drivers/platform/x86/intel/pmc/core.c | 1 | 
3 files changed, 8 insertions, 0 deletions
diff --git a/drivers/platform/x86/intel/int3472/clk_and_regulator.c b/drivers/platform/x86/intel/int3472/clk_and_regulator.c index b2342b3d78c7..74dc2cff799e 100644 --- a/drivers/platform/x86/intel/int3472/clk_and_regulator.c +++ b/drivers/platform/x86/intel/int3472/clk_and_regulator.c @@ -181,6 +181,9 @@ int skl_int3472_register_regulator(struct int3472_discrete_device *int3472,  		return PTR_ERR(int3472->regulator.gpio);  	} +	/* Ensure the pin is in output mode and non-active state */ +	gpiod_direction_output(int3472->regulator.gpio, 0); +  	cfg.dev = &int3472->adev->dev;  	cfg.init_data = &init_data;  	cfg.ena_gpiod = int3472->regulator.gpio; diff --git a/drivers/platform/x86/intel/int3472/discrete.c b/drivers/platform/x86/intel/int3472/discrete.c index 974a132db651..c42c3faa2c32 100644 --- a/drivers/platform/x86/intel/int3472/discrete.c +++ b/drivers/platform/x86/intel/int3472/discrete.c @@ -168,6 +168,8 @@ static int skl_int3472_map_gpio_to_clk(struct int3472_discrete_device *int3472,  			return (PTR_ERR(gpio));  		int3472->clock.ena_gpio = gpio; +		/* Ensure the pin is in output mode and non-active state */ +		gpiod_direction_output(int3472->clock.ena_gpio, 0);  		break;  	case INT3472_GPIO_TYPE_PRIVACY_LED:  		gpio = acpi_get_and_request_gpiod(path, pin, "int3472,privacy-led"); @@ -175,6 +177,8 @@ static int skl_int3472_map_gpio_to_clk(struct int3472_discrete_device *int3472,  			return (PTR_ERR(gpio));  		int3472->clock.led_gpio = gpio; +		/* Ensure the pin is in output mode and non-active state */ +		gpiod_direction_output(int3472->clock.led_gpio, 0);  		break;  	default:  		dev_err(int3472->dev, "Invalid GPIO type 0x%02x for clock\n", type); diff --git a/drivers/platform/x86/intel/pmc/core.c b/drivers/platform/x86/intel/pmc/core.c index f1d802f6ec3f..3a15d32d7644 100644 --- a/drivers/platform/x86/intel/pmc/core.c +++ b/drivers/platform/x86/intel/pmc/core.c @@ -1029,6 +1029,7 @@ static const struct x86_cpu_id intel_pmc_core_ids[] = {  	X86_MATCH_INTEL_FAM6_MODEL(RAPTORLAKE,		adl_core_init),  	X86_MATCH_INTEL_FAM6_MODEL(RAPTORLAKE_S,	adl_core_init),  	X86_MATCH_INTEL_FAM6_MODEL(METEORLAKE,          mtl_core_init), +	X86_MATCH_INTEL_FAM6_MODEL(METEORLAKE_L,	mtl_core_init),  	{}  };  | 
