Commit c2d5304e authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'platform-drivers-x86-v6.7-2' of...

Merge tag 'platform-drivers-x86-v6.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86

Pull x86 platform drivers fixes from Ilpo Järvinen:
 "Just a few fixes (one with two non-fix deps) plus tidying up
  MAINTAINERS"

* tag 'platform-drivers-x86-v6.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
  platform/x86: intel_telemetry: Fix kernel doc descriptions
  MAINTAINERS: Drop Mark Gross as maintainer for x86 platform drivers
  platform/x86/amd/pmc: adjust getting DRAM size behavior
  platform/x86: hp-bioscfg: Remove unused obj in hp_add_other_attributes()
  platform/x86: hp-bioscfg: Fix error handling in hp_add_other_attributes()
  platform/x86: hp-bioscfg: move mutex_lock() down in hp_add_other_attributes()
  platform/x86: hp-bioscfg: Simplify return check in hp_add_other_attributes()
  platform/x86: ideapad-laptop: Set max_brightness before using it
  MAINTAINERS: Remove stale entry for SBL platform driver
parents 6b655223 a6584711
...@@ -11025,7 +11025,6 @@ F: drivers/net/wireless/intel/iwlwifi/ ...@@ -11025,7 +11025,6 @@ F: drivers/net/wireless/intel/iwlwifi/
INTEL WMI SLIM BOOTLOADER (SBL) FIRMWARE UPDATE DRIVER INTEL WMI SLIM BOOTLOADER (SBL) FIRMWARE UPDATE DRIVER
M: Jithu Joseph <jithu.joseph@intel.com> M: Jithu Joseph <jithu.joseph@intel.com>
R: Maurice Ma <maurice.ma@intel.com>
S: Maintained S: Maintained
W: https://slimbootloader.github.io/security/firmware-update.html W: https://slimbootloader.github.io/security/firmware-update.html
F: drivers/platform/x86/intel/wmi/sbl-fw-update.c F: drivers/platform/x86/intel/wmi/sbl-fw-update.c
...@@ -13779,7 +13778,6 @@ F: drivers/net/ethernet/mellanox/mlxfw/ ...@@ -13779,7 +13778,6 @@ F: drivers/net/ethernet/mellanox/mlxfw/
MELLANOX HARDWARE PLATFORM SUPPORT MELLANOX HARDWARE PLATFORM SUPPORT
M: Hans de Goede <hdegoede@redhat.com> M: Hans de Goede <hdegoede@redhat.com>
M: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> M: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
M: Mark Gross <markgross@kernel.org>
M: Vadim Pasternak <vadimp@nvidia.com> M: Vadim Pasternak <vadimp@nvidia.com>
L: platform-driver-x86@vger.kernel.org L: platform-driver-x86@vger.kernel.org
S: Supported S: Supported
...@@ -14388,7 +14386,6 @@ F: drivers/platform/surface/surface_gpe.c ...@@ -14388,7 +14386,6 @@ F: drivers/platform/surface/surface_gpe.c
MICROSOFT SURFACE HARDWARE PLATFORM SUPPORT MICROSOFT SURFACE HARDWARE PLATFORM SUPPORT
M: Hans de Goede <hdegoede@redhat.com> M: Hans de Goede <hdegoede@redhat.com>
M: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> M: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
M: Mark Gross <markgross@kernel.org>
M: Maximilian Luz <luzmaximilian@gmail.com> M: Maximilian Luz <luzmaximilian@gmail.com>
L: platform-driver-x86@vger.kernel.org L: platform-driver-x86@vger.kernel.org
S: Maintained S: Maintained
...@@ -23665,7 +23662,6 @@ F: drivers/platform/x86/x86-android-tablets/ ...@@ -23665,7 +23662,6 @@ F: drivers/platform/x86/x86-android-tablets/
X86 PLATFORM DRIVERS X86 PLATFORM DRIVERS
M: Hans de Goede <hdegoede@redhat.com> M: Hans de Goede <hdegoede@redhat.com>
M: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> M: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
M: Mark Gross <markgross@kernel.org>
L: platform-driver-x86@vger.kernel.org L: platform-driver-x86@vger.kernel.org
S: Maintained S: Maintained
Q: https://patchwork.kernel.org/project/platform-driver-x86/list/ Q: https://patchwork.kernel.org/project/platform-driver-x86/list/
......
...@@ -964,33 +964,6 @@ static const struct pci_device_id pmc_pci_ids[] = { ...@@ -964,33 +964,6 @@ static const struct pci_device_id pmc_pci_ids[] = {
{ } { }
}; };
static int amd_pmc_get_dram_size(struct amd_pmc_dev *dev)
{
int ret;
switch (dev->cpu_id) {
case AMD_CPU_ID_YC:
if (!(dev->major > 90 || (dev->major == 90 && dev->minor > 39))) {
ret = -EINVAL;
goto err_dram_size;
}
break;
default:
ret = -EINVAL;
goto err_dram_size;
}
ret = amd_pmc_send_cmd(dev, S2D_DRAM_SIZE, &dev->dram_size, dev->s2d_msg_id, true);
if (ret || !dev->dram_size)
goto err_dram_size;
return 0;
err_dram_size:
dev_err(dev->dev, "DRAM size command not supported for this platform\n");
return ret;
}
static int amd_pmc_s2d_init(struct amd_pmc_dev *dev) static int amd_pmc_s2d_init(struct amd_pmc_dev *dev)
{ {
u32 phys_addr_low, phys_addr_hi; u32 phys_addr_low, phys_addr_hi;
...@@ -1009,8 +982,8 @@ static int amd_pmc_s2d_init(struct amd_pmc_dev *dev) ...@@ -1009,8 +982,8 @@ static int amd_pmc_s2d_init(struct amd_pmc_dev *dev)
return -EIO; return -EIO;
/* Get DRAM size */ /* Get DRAM size */
ret = amd_pmc_get_dram_size(dev); ret = amd_pmc_send_cmd(dev, S2D_DRAM_SIZE, &dev->dram_size, dev->s2d_msg_id, true);
if (ret) if (ret || !dev->dram_size)
dev->dram_size = S2D_TELEMETRY_DRAMBYTES_MAX; dev->dram_size = S2D_TELEMETRY_DRAMBYTES_MAX;
/* Get STB DRAM address */ /* Get STB DRAM address */
......
...@@ -588,17 +588,14 @@ static void release_attributes_data(void) ...@@ -588,17 +588,14 @@ static void release_attributes_data(void)
static int hp_add_other_attributes(int attr_type) static int hp_add_other_attributes(int attr_type)
{ {
struct kobject *attr_name_kobj; struct kobject *attr_name_kobj;
union acpi_object *obj = NULL;
int ret; int ret;
char *attr_name; char *attr_name;
mutex_lock(&bioscfg_drv.mutex);
attr_name_kobj = kzalloc(sizeof(*attr_name_kobj), GFP_KERNEL); attr_name_kobj = kzalloc(sizeof(*attr_name_kobj), GFP_KERNEL);
if (!attr_name_kobj) { if (!attr_name_kobj)
ret = -ENOMEM; return -ENOMEM;
goto err_other_attr_init;
} mutex_lock(&bioscfg_drv.mutex);
/* Check if attribute type is supported */ /* Check if attribute type is supported */
switch (attr_type) { switch (attr_type) {
...@@ -615,14 +612,14 @@ static int hp_add_other_attributes(int attr_type) ...@@ -615,14 +612,14 @@ static int hp_add_other_attributes(int attr_type)
default: default:
pr_err("Error: Unknown attr_type: %d\n", attr_type); pr_err("Error: Unknown attr_type: %d\n", attr_type);
ret = -EINVAL; ret = -EINVAL;
goto err_other_attr_init; kfree(attr_name_kobj);
goto unlock_drv_mutex;
} }
ret = kobject_init_and_add(attr_name_kobj, &attr_name_ktype, ret = kobject_init_and_add(attr_name_kobj, &attr_name_ktype,
NULL, "%s", attr_name); NULL, "%s", attr_name);
if (ret) { if (ret) {
pr_err("Error encountered [%d]\n", ret); pr_err("Error encountered [%d]\n", ret);
kobject_put(attr_name_kobj);
goto err_other_attr_init; goto err_other_attr_init;
} }
...@@ -630,27 +627,26 @@ static int hp_add_other_attributes(int attr_type) ...@@ -630,27 +627,26 @@ static int hp_add_other_attributes(int attr_type)
switch (attr_type) { switch (attr_type) {
case HPWMI_SECURE_PLATFORM_TYPE: case HPWMI_SECURE_PLATFORM_TYPE:
ret = hp_populate_secure_platform_data(attr_name_kobj); ret = hp_populate_secure_platform_data(attr_name_kobj);
if (ret)
goto err_other_attr_init;
break; break;
case HPWMI_SURE_START_TYPE: case HPWMI_SURE_START_TYPE:
ret = hp_populate_sure_start_data(attr_name_kobj); ret = hp_populate_sure_start_data(attr_name_kobj);
if (ret)
goto err_other_attr_init;
break; break;
default: default:
ret = -EINVAL; ret = -EINVAL;
goto err_other_attr_init;
} }
if (ret)
goto err_other_attr_init;
mutex_unlock(&bioscfg_drv.mutex); mutex_unlock(&bioscfg_drv.mutex);
return 0; return 0;
err_other_attr_init: err_other_attr_init:
kobject_put(attr_name_kobj);
unlock_drv_mutex:
mutex_unlock(&bioscfg_drv.mutex); mutex_unlock(&bioscfg_drv.mutex);
kfree(obj);
return ret; return ret;
} }
......
...@@ -1425,18 +1425,17 @@ static int ideapad_kbd_bl_init(struct ideapad_private *priv) ...@@ -1425,18 +1425,17 @@ static int ideapad_kbd_bl_init(struct ideapad_private *priv)
if (WARN_ON(priv->kbd_bl.initialized)) if (WARN_ON(priv->kbd_bl.initialized))
return -EEXIST; return -EEXIST;
brightness = ideapad_kbd_bl_brightness_get(priv);
if (brightness < 0)
return brightness;
priv->kbd_bl.last_brightness = brightness;
if (ideapad_kbd_bl_check_tristate(priv->kbd_bl.type)) { if (ideapad_kbd_bl_check_tristate(priv->kbd_bl.type)) {
priv->kbd_bl.led.max_brightness = 2; priv->kbd_bl.led.max_brightness = 2;
} else { } else {
priv->kbd_bl.led.max_brightness = 1; priv->kbd_bl.led.max_brightness = 1;
} }
brightness = ideapad_kbd_bl_brightness_get(priv);
if (brightness < 0)
return brightness;
priv->kbd_bl.last_brightness = brightness;
priv->kbd_bl.led.name = "platform::" LED_FUNCTION_KBD_BACKLIGHT; priv->kbd_bl.led.name = "platform::" LED_FUNCTION_KBD_BACKLIGHT;
priv->kbd_bl.led.brightness_get = ideapad_kbd_bl_led_cdev_brightness_get; priv->kbd_bl.led.brightness_get = ideapad_kbd_bl_led_cdev_brightness_get;
priv->kbd_bl.led.brightness_set_blocking = ideapad_kbd_bl_led_cdev_brightness_set; priv->kbd_bl.led.brightness_set_blocking = ideapad_kbd_bl_led_cdev_brightness_set;
......
...@@ -102,7 +102,7 @@ static const struct telemetry_core_ops telm_defpltops = { ...@@ -102,7 +102,7 @@ static const struct telemetry_core_ops telm_defpltops = {
/** /**
* telemetry_update_events() - Update telemetry Configuration * telemetry_update_events() - Update telemetry Configuration
* @pss_evtconfig: PSS related config. No change if num_evts = 0. * @pss_evtconfig: PSS related config. No change if num_evts = 0.
* @pss_evtconfig: IOSS related config. No change if num_evts = 0. * @ioss_evtconfig: IOSS related config. No change if num_evts = 0.
* *
* This API updates the IOSS & PSS Telemetry configuration. Old config * This API updates the IOSS & PSS Telemetry configuration. Old config
* is overwritten. Call telemetry_reset_events when logging is over * is overwritten. Call telemetry_reset_events when logging is over
...@@ -176,7 +176,7 @@ EXPORT_SYMBOL_GPL(telemetry_reset_events); ...@@ -176,7 +176,7 @@ EXPORT_SYMBOL_GPL(telemetry_reset_events);
/** /**
* telemetry_get_eventconfig() - Returns the pss and ioss events enabled * telemetry_get_eventconfig() - Returns the pss and ioss events enabled
* @pss_evtconfig: Pointer to PSS related configuration. * @pss_evtconfig: Pointer to PSS related configuration.
* @pss_evtconfig: Pointer to IOSS related configuration. * @ioss_evtconfig: Pointer to IOSS related configuration.
* @pss_len: Number of u32 elements allocated for pss_evtconfig array * @pss_len: Number of u32 elements allocated for pss_evtconfig array
* @ioss_len: Number of u32 elements allocated for ioss_evtconfig array * @ioss_len: Number of u32 elements allocated for ioss_evtconfig array
* *
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment