diff options
Diffstat (limited to 'drivers/platform')
| -rw-r--r-- | drivers/platform/chrome/cros_ec_proto.c | 2 | ||||
| -rw-r--r-- | drivers/platform/x86/alienware-wmi.c | 1 | ||||
| -rw-r--r-- | drivers/platform/x86/asus-wmi.c | 39 | ||||
| -rw-r--r-- | drivers/platform/x86/dell-smbios-wmi.c | 1 | ||||
| -rw-r--r-- | drivers/platform/x86/eeepc-laptop.c | 43 | ||||
| -rw-r--r-- | drivers/platform/x86/intel_cht_int33fe.c | 24 | ||||
| -rw-r--r-- | drivers/platform/x86/intel_int0002_vgpio.c | 2 | ||||
| -rw-r--r-- | drivers/platform/x86/intel_mid_powerbtn.c | 4 | ||||
| -rw-r--r-- | drivers/platform/x86/intel_telemetry_debugfs.c | 2 | ||||
| -rw-r--r-- | drivers/platform/x86/intel_telemetry_pltdrv.c | 2 | 
10 files changed, 40 insertions, 80 deletions
| diff --git a/drivers/platform/chrome/cros_ec_proto.c b/drivers/platform/chrome/cros_ec_proto.c index 398393ab5df8..b6fd4838f60f 100644 --- a/drivers/platform/chrome/cros_ec_proto.c +++ b/drivers/platform/chrome/cros_ec_proto.c @@ -520,7 +520,7 @@ static int get_next_event_xfer(struct cros_ec_device *ec_dev,  	ret = cros_ec_cmd_xfer(ec_dev, msg);  	if (ret > 0) {  		ec_dev->event_size = ret - 1; -		memcpy(&ec_dev->event_data, msg->data, ec_dev->event_size); +		memcpy(&ec_dev->event_data, msg->data, ret);  	}  	return ret; diff --git a/drivers/platform/x86/alienware-wmi.c b/drivers/platform/x86/alienware-wmi.c index d975462a4c57..f10af5c383c5 100644 --- a/drivers/platform/x86/alienware-wmi.c +++ b/drivers/platform/x86/alienware-wmi.c @@ -536,6 +536,7 @@ static acpi_status alienware_wmax_command(struct wmax_basic_args *in_args,  		if (obj && obj->type == ACPI_TYPE_INTEGER)  			*out_data = (u32) obj->integer.value;  	} +	kfree(output.pointer);  	return status;  } diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c index 2d6e272315a8..93ee2d5466f8 100644 --- a/drivers/platform/x86/asus-wmi.c +++ b/drivers/platform/x86/asus-wmi.c @@ -254,7 +254,7 @@ struct asus_wmi {  	int asus_hwmon_num_fans;  	int asus_hwmon_pwm; -	struct hotplug_slot *hotplug_slot; +	struct hotplug_slot hotplug_slot;  	struct mutex hotplug_lock;  	struct mutex wmi_lock;  	struct workqueue_struct *hotplug_workqueue; @@ -753,7 +753,7 @@ static void asus_rfkill_hotplug(struct asus_wmi *asus)  	if (asus->wlan.rfkill)  		rfkill_set_sw_state(asus->wlan.rfkill, blocked); -	if (asus->hotplug_slot) { +	if (asus->hotplug_slot.ops) {  		bus = pci_find_bus(0, 1);  		if (!bus) {  			pr_warn("Unable to find PCI bus 1?\n"); @@ -858,7 +858,8 @@ static void asus_unregister_rfkill_notifier(struct asus_wmi *asus, char *node)  static int asus_get_adapter_status(struct hotplug_slot *hotplug_slot,  				   u8 *value)  { -	struct asus_wmi *asus = hotplug_slot->private; +	struct asus_wmi *asus = container_of(hotplug_slot, +					     struct asus_wmi, hotplug_slot);  	int result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_WLAN);  	if (result < 0) @@ -868,8 +869,7 @@ static int asus_get_adapter_status(struct hotplug_slot *hotplug_slot,  	return 0;  } -static struct hotplug_slot_ops asus_hotplug_slot_ops = { -	.owner = THIS_MODULE, +static const struct hotplug_slot_ops asus_hotplug_slot_ops = {  	.get_adapter_status = asus_get_adapter_status,  	.get_power_status = asus_get_adapter_status,  }; @@ -899,21 +899,9 @@ static int asus_setup_pci_hotplug(struct asus_wmi *asus)  	INIT_WORK(&asus->hotplug_work, asus_hotplug_work); -	asus->hotplug_slot = kzalloc(sizeof(struct hotplug_slot), GFP_KERNEL); -	if (!asus->hotplug_slot) -		goto error_slot; - -	asus->hotplug_slot->info = kzalloc(sizeof(struct hotplug_slot_info), -					   GFP_KERNEL); -	if (!asus->hotplug_slot->info) -		goto error_info; +	asus->hotplug_slot.ops = &asus_hotplug_slot_ops; -	asus->hotplug_slot->private = asus; -	asus->hotplug_slot->ops = &asus_hotplug_slot_ops; -	asus_get_adapter_status(asus->hotplug_slot, -				&asus->hotplug_slot->info->adapter_status); - -	ret = pci_hp_register(asus->hotplug_slot, bus, 0, "asus-wifi"); +	ret = pci_hp_register(&asus->hotplug_slot, bus, 0, "asus-wifi");  	if (ret) {  		pr_err("Unable to register hotplug slot - %d\n", ret);  		goto error_register; @@ -922,11 +910,7 @@ static int asus_setup_pci_hotplug(struct asus_wmi *asus)  	return 0;  error_register: -	kfree(asus->hotplug_slot->info); -error_info: -	kfree(asus->hotplug_slot); -	asus->hotplug_slot = NULL; -error_slot: +	asus->hotplug_slot.ops = NULL;  	destroy_workqueue(asus->hotplug_workqueue);  error_workqueue:  	return ret; @@ -1054,11 +1038,8 @@ static void asus_wmi_rfkill_exit(struct asus_wmi *asus)  	 * asus_unregister_rfkill_notifier()  	 */  	asus_rfkill_hotplug(asus); -	if (asus->hotplug_slot) { -		pci_hp_deregister(asus->hotplug_slot); -		kfree(asus->hotplug_slot->info); -		kfree(asus->hotplug_slot); -	} +	if (asus->hotplug_slot.ops) +		pci_hp_deregister(&asus->hotplug_slot);  	if (asus->hotplug_workqueue)  		destroy_workqueue(asus->hotplug_workqueue); diff --git a/drivers/platform/x86/dell-smbios-wmi.c b/drivers/platform/x86/dell-smbios-wmi.c index 88afe5651d24..cf2229ece9ff 100644 --- a/drivers/platform/x86/dell-smbios-wmi.c +++ b/drivers/platform/x86/dell-smbios-wmi.c @@ -78,6 +78,7 @@ static int run_smbios_call(struct wmi_device *wdev)  	dev_dbg(&wdev->dev, "result: [%08x,%08x,%08x,%08x]\n",  		priv->buf->std.output[0], priv->buf->std.output[1],  		priv->buf->std.output[2], priv->buf->std.output[3]); +	kfree(output.pointer);  	return 0;  } diff --git a/drivers/platform/x86/eeepc-laptop.c b/drivers/platform/x86/eeepc-laptop.c index a4bbf6ecd1f0..e6946a9beb5a 100644 --- a/drivers/platform/x86/eeepc-laptop.c +++ b/drivers/platform/x86/eeepc-laptop.c @@ -177,7 +177,7 @@ struct eeepc_laptop {  	struct rfkill *wwan3g_rfkill;  	struct rfkill *wimax_rfkill; -	struct hotplug_slot *hotplug_slot; +	struct hotplug_slot hotplug_slot;  	struct mutex hotplug_lock;  	struct led_classdev tpd_led; @@ -582,7 +582,7 @@ static void eeepc_rfkill_hotplug(struct eeepc_laptop *eeepc, acpi_handle handle)  	mutex_lock(&eeepc->hotplug_lock);  	pci_lock_rescan_remove(); -	if (!eeepc->hotplug_slot) +	if (!eeepc->hotplug_slot.ops)  		goto out_unlock;  	port = acpi_get_pci_dev(handle); @@ -715,8 +715,11 @@ static void eeepc_unregister_rfkill_notifier(struct eeepc_laptop *eeepc,  static int eeepc_get_adapter_status(struct hotplug_slot *hotplug_slot,  				    u8 *value)  { -	struct eeepc_laptop *eeepc = hotplug_slot->private; -	int val = get_acpi(eeepc, CM_ASL_WLAN); +	struct eeepc_laptop *eeepc; +	int val; + +	eeepc = container_of(hotplug_slot, struct eeepc_laptop, hotplug_slot); +	val = get_acpi(eeepc, CM_ASL_WLAN);  	if (val == 1 || val == 0)  		*value = val; @@ -726,8 +729,7 @@ static int eeepc_get_adapter_status(struct hotplug_slot *hotplug_slot,  	return 0;  } -static struct hotplug_slot_ops eeepc_hotplug_slot_ops = { -	.owner = THIS_MODULE, +static const struct hotplug_slot_ops eeepc_hotplug_slot_ops = {  	.get_adapter_status = eeepc_get_adapter_status,  	.get_power_status = eeepc_get_adapter_status,  }; @@ -742,21 +744,9 @@ static int eeepc_setup_pci_hotplug(struct eeepc_laptop *eeepc)  		return -ENODEV;  	} -	eeepc->hotplug_slot = kzalloc(sizeof(struct hotplug_slot), GFP_KERNEL); -	if (!eeepc->hotplug_slot) -		goto error_slot; +	eeepc->hotplug_slot.ops = &eeepc_hotplug_slot_ops; -	eeepc->hotplug_slot->info = kzalloc(sizeof(struct hotplug_slot_info), -					    GFP_KERNEL); -	if (!eeepc->hotplug_slot->info) -		goto error_info; - -	eeepc->hotplug_slot->private = eeepc; -	eeepc->hotplug_slot->ops = &eeepc_hotplug_slot_ops; -	eeepc_get_adapter_status(eeepc->hotplug_slot, -				 &eeepc->hotplug_slot->info->adapter_status); - -	ret = pci_hp_register(eeepc->hotplug_slot, bus, 0, "eeepc-wifi"); +	ret = pci_hp_register(&eeepc->hotplug_slot, bus, 0, "eeepc-wifi");  	if (ret) {  		pr_err("Unable to register hotplug slot - %d\n", ret);  		goto error_register; @@ -765,11 +755,7 @@ static int eeepc_setup_pci_hotplug(struct eeepc_laptop *eeepc)  	return 0;  error_register: -	kfree(eeepc->hotplug_slot->info); -error_info: -	kfree(eeepc->hotplug_slot); -	eeepc->hotplug_slot = NULL; -error_slot: +	eeepc->hotplug_slot.ops = NULL;  	return ret;  } @@ -830,11 +816,8 @@ static void eeepc_rfkill_exit(struct eeepc_laptop *eeepc)  		eeepc->wlan_rfkill = NULL;  	} -	if (eeepc->hotplug_slot) { -		pci_hp_deregister(eeepc->hotplug_slot); -		kfree(eeepc->hotplug_slot->info); -		kfree(eeepc->hotplug_slot); -	} +	if (eeepc->hotplug_slot.ops) +		pci_hp_deregister(&eeepc->hotplug_slot);  	if (eeepc->bluetooth_rfkill) {  		rfkill_unregister(eeepc->bluetooth_rfkill); diff --git a/drivers/platform/x86/intel_cht_int33fe.c b/drivers/platform/x86/intel_cht_int33fe.c index 39d4100c60a2..7166f1cf8a1d 100644 --- a/drivers/platform/x86/intel_cht_int33fe.c +++ b/drivers/platform/x86/intel_cht_int33fe.c @@ -24,6 +24,7 @@  #include <linux/i2c.h>  #include <linux/interrupt.h>  #include <linux/module.h> +#include <linux/platform_device.h>  #include <linux/regulator/consumer.h>  #include <linux/slab.h> @@ -88,9 +89,9 @@ static const struct property_entry fusb302_props[] = {  	{ }  }; -static int cht_int33fe_probe(struct i2c_client *client) +static int cht_int33fe_probe(struct platform_device *pdev)  { -	struct device *dev = &client->dev; +	struct device *dev = &pdev->dev;  	struct i2c_board_info board_info;  	struct cht_int33fe_data *data;  	struct i2c_client *max17047; @@ -206,7 +207,7 @@ static int cht_int33fe_probe(struct i2c_client *client)  	if (!data->pi3usb30532)  		goto out_unregister_fusb302; -	i2c_set_clientdata(client, data); +	platform_set_drvdata(pdev, data);  	return 0; @@ -224,9 +225,9 @@ out_unregister_max17047:  	return -EPROBE_DEFER; /* Wait for the i2c-adapter to load */  } -static int cht_int33fe_remove(struct i2c_client *i2c) +static int cht_int33fe_remove(struct platform_device *pdev)  { -	struct cht_int33fe_data *data = i2c_get_clientdata(i2c); +	struct cht_int33fe_data *data = platform_get_drvdata(pdev);  	i2c_unregister_device(data->pi3usb30532);  	i2c_unregister_device(data->fusb302); @@ -240,29 +241,22 @@ static int cht_int33fe_remove(struct i2c_client *i2c)  	return 0;  } -static const struct i2c_device_id cht_int33fe_i2c_id[] = { -	{ } -}; -MODULE_DEVICE_TABLE(i2c, cht_int33fe_i2c_id); -  static const struct acpi_device_id cht_int33fe_acpi_ids[] = {  	{ "INT33FE", },  	{ }  };  MODULE_DEVICE_TABLE(acpi, cht_int33fe_acpi_ids); -static struct i2c_driver cht_int33fe_driver = { +static struct platform_driver cht_int33fe_driver = {  	.driver	= {  		.name = "Intel Cherry Trail ACPI INT33FE driver",  		.acpi_match_table = ACPI_PTR(cht_int33fe_acpi_ids),  	}, -	.probe_new = cht_int33fe_probe, +	.probe = cht_int33fe_probe,  	.remove = cht_int33fe_remove, -	.id_table = cht_int33fe_i2c_id, -	.disable_i2c_core_irq_mapping = true,  }; -module_i2c_driver(cht_int33fe_driver); +module_platform_driver(cht_int33fe_driver);  MODULE_DESCRIPTION("Intel Cherry Trail ACPI INT33FE pseudo device driver");  MODULE_AUTHOR("Hans de Goede <[email protected]>"); diff --git a/drivers/platform/x86/intel_int0002_vgpio.c b/drivers/platform/x86/intel_int0002_vgpio.c index a473dc51b18d..e89ad4964dc1 100644 --- a/drivers/platform/x86/intel_int0002_vgpio.c +++ b/drivers/platform/x86/intel_int0002_vgpio.c @@ -60,7 +60,7 @@ static const struct x86_cpu_id int0002_cpu_ids[] = {  /*   * Limit ourselves to Cherry Trail for now, until testing shows we   * need to handle the INT0002 device on Baytrail too. - *	ICPU(INTEL_FAM6_ATOM_SILVERMONT1),	 * Valleyview, Bay Trail * + *	ICPU(INTEL_FAM6_ATOM_SILVERMONT),	 * Valleyview, Bay Trail *   */  	ICPU(INTEL_FAM6_ATOM_AIRMONT),		/* Braswell, Cherry Trail */  	{} diff --git a/drivers/platform/x86/intel_mid_powerbtn.c b/drivers/platform/x86/intel_mid_powerbtn.c index d79fbf924b13..5ad44204a9c3 100644 --- a/drivers/platform/x86/intel_mid_powerbtn.c +++ b/drivers/platform/x86/intel_mid_powerbtn.c @@ -125,8 +125,8 @@ static const struct mid_pb_ddata mrfld_ddata = {  	{ X86_VENDOR_INTEL, 6, model, X86_FEATURE_ANY, (kernel_ulong_t)&ddata }  static const struct x86_cpu_id mid_pb_cpu_ids[] = { -	ICPU(INTEL_FAM6_ATOM_PENWELL,		mfld_ddata), -	ICPU(INTEL_FAM6_ATOM_MERRIFIELD,	mrfld_ddata), +	ICPU(INTEL_FAM6_ATOM_SALTWELL_MID,		mfld_ddata), +	ICPU(INTEL_FAM6_ATOM_SILVERMONT_MID,	mrfld_ddata),  	{}  }; diff --git a/drivers/platform/x86/intel_telemetry_debugfs.c b/drivers/platform/x86/intel_telemetry_debugfs.c index ffd0474b0531..cee08f236292 100644 --- a/drivers/platform/x86/intel_telemetry_debugfs.c +++ b/drivers/platform/x86/intel_telemetry_debugfs.c @@ -320,7 +320,7 @@ static struct telemetry_debugfs_conf telem_apl_debugfs_conf = {  static const struct x86_cpu_id telemetry_debugfs_cpu_ids[] = {  	TELEM_DEBUGFS_CPU(INTEL_FAM6_ATOM_GOLDMONT, telem_apl_debugfs_conf), -	TELEM_DEBUGFS_CPU(INTEL_FAM6_ATOM_GEMINI_LAKE, telem_apl_debugfs_conf), +	TELEM_DEBUGFS_CPU(INTEL_FAM6_ATOM_GOLDMONT_PLUS, telem_apl_debugfs_conf),  	{}  }; diff --git a/drivers/platform/x86/intel_telemetry_pltdrv.c b/drivers/platform/x86/intel_telemetry_pltdrv.c index 2f889d6c270e..fcc6bee51a42 100644 --- a/drivers/platform/x86/intel_telemetry_pltdrv.c +++ b/drivers/platform/x86/intel_telemetry_pltdrv.c @@ -192,7 +192,7 @@ static struct telemetry_plt_config telem_glk_config = {  static const struct x86_cpu_id telemetry_cpu_ids[] = {  	TELEM_CPU(INTEL_FAM6_ATOM_GOLDMONT, telem_apl_config), -	TELEM_CPU(INTEL_FAM6_ATOM_GEMINI_LAKE, telem_glk_config), +	TELEM_CPU(INTEL_FAM6_ATOM_GOLDMONT_PLUS, telem_glk_config),  	{}  }; |