Commit c2d5304e authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -11025,7 +11025,6 @@ F: drivers/net/wireless/intel/iwlwifi/
INTEL WMI SLIM BOOTLOADER (SBL) FIRMWARE UPDATE DRIVER
M:	Jithu Joseph <jithu.joseph@intel.com>
R:	Maurice Ma <maurice.ma@intel.com>
S:	Maintained
W:	https://slimbootloader.github.io/security/firmware-update.html
F:	drivers/platform/x86/intel/wmi/sbl-fw-update.c
@@ -13779,7 +13778,6 @@ F: drivers/net/ethernet/mellanox/mlxfw/
MELLANOX HARDWARE PLATFORM SUPPORT
M:	Hans de Goede <hdegoede@redhat.com>
M:	Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
M:	Mark Gross <markgross@kernel.org>
M:	Vadim Pasternak <vadimp@nvidia.com>
L:	platform-driver-x86@vger.kernel.org
S:	Supported
@@ -14388,7 +14386,6 @@ F: drivers/platform/surface/surface_gpe.c
MICROSOFT SURFACE HARDWARE PLATFORM SUPPORT
M:	Hans de Goede <hdegoede@redhat.com>
M:	Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
M:	Mark Gross <markgross@kernel.org>
M:	Maximilian Luz <luzmaximilian@gmail.com>
L:	platform-driver-x86@vger.kernel.org
S:	Maintained
@@ -23665,7 +23662,6 @@ F: drivers/platform/x86/x86-android-tablets/
X86 PLATFORM DRIVERS
M:	Hans de Goede <hdegoede@redhat.com>
M:	Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
M:	Mark Gross <markgross@kernel.org>
L:	platform-driver-x86@vger.kernel.org
S:	Maintained
Q:	https://patchwork.kernel.org/project/platform-driver-x86/list/
+2 −29
Original line number Diff line number Diff line
@@ -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)
{
	u32 phys_addr_low, phys_addr_hi;
@@ -1009,8 +982,8 @@ static int amd_pmc_s2d_init(struct amd_pmc_dev *dev)
		return -EIO;

	/* Get DRAM size */
	ret = amd_pmc_get_dram_size(dev);
	if (ret)
	ret = amd_pmc_send_cmd(dev, S2D_DRAM_SIZE, &dev->dram_size, dev->s2d_msg_id, true);
	if (ret || !dev->dram_size)
		dev->dram_size = S2D_TELEMETRY_DRAMBYTES_MAX;

	/* Get STB DRAM address */
+11 −15
Original line number Diff line number Diff line
@@ -588,17 +588,14 @@ static void release_attributes_data(void)
static int hp_add_other_attributes(int attr_type)
{
	struct kobject *attr_name_kobj;
	union acpi_object *obj = NULL;
	int ret;
	char *attr_name;

	mutex_lock(&bioscfg_drv.mutex);

	attr_name_kobj = kzalloc(sizeof(*attr_name_kobj), GFP_KERNEL);
	if (!attr_name_kobj) {
		ret = -ENOMEM;
		goto err_other_attr_init;
	}
	if (!attr_name_kobj)
		return -ENOMEM;

	mutex_lock(&bioscfg_drv.mutex);

	/* Check if attribute type is supported */
	switch (attr_type) {
@@ -615,14 +612,14 @@ static int hp_add_other_attributes(int attr_type)
	default:
		pr_err("Error: Unknown attr_type: %d\n", attr_type);
		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,
				   NULL, "%s", attr_name);
	if (ret) {
		pr_err("Error encountered [%d]\n", ret);
		kobject_put(attr_name_kobj);
		goto err_other_attr_init;
	}

@@ -630,27 +627,26 @@ static int hp_add_other_attributes(int attr_type)
	switch (attr_type) {
	case HPWMI_SECURE_PLATFORM_TYPE:
		ret = hp_populate_secure_platform_data(attr_name_kobj);
		if (ret)
			goto err_other_attr_init;
		break;

	case HPWMI_SURE_START_TYPE:
		ret = hp_populate_sure_start_data(attr_name_kobj);
		if (ret)
			goto err_other_attr_init;
		break;

	default:
		ret = -EINVAL;
		goto err_other_attr_init;
	}

	if (ret)
		goto err_other_attr_init;

	mutex_unlock(&bioscfg_drv.mutex);
	return 0;

err_other_attr_init:
	kobject_put(attr_name_kobj);
unlock_drv_mutex:
	mutex_unlock(&bioscfg_drv.mutex);
	kfree(obj);
	return ret;
}

+5 −6
Original line number Diff line number Diff line
@@ -1425,18 +1425,17 @@ static int ideapad_kbd_bl_init(struct ideapad_private *priv)
	if (WARN_ON(priv->kbd_bl.initialized))
		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)) {
		priv->kbd_bl.led.max_brightness = 2;
	} else {
		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.brightness_get          = ideapad_kbd_bl_led_cdev_brightness_get;
	priv->kbd_bl.led.brightness_set_blocking = ideapad_kbd_bl_led_cdev_brightness_set;
+2 −2
Original line number Diff line number Diff line
@@ -102,7 +102,7 @@ static const struct telemetry_core_ops telm_defpltops = {
/**
 * telemetry_update_events() - Update telemetry Configuration
 * @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
 * is overwritten. Call telemetry_reset_events when logging is over
@@ -176,7 +176,7 @@ EXPORT_SYMBOL_GPL(telemetry_reset_events);
/**
 * telemetry_get_eventconfig() - Returns the pss and ioss events enabled
 * @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
 * @ioss_len:	   Number of u32 elements allocated for ioss_evtconfig array
 *