Skip to content

Commit

Permalink
hp-wmi: split rfkill initialization out of hp_wmi_bios_setup
Browse files Browse the repository at this point in the history
Split initialization of rfkill devices from hp_wmi_bios_setup() to
hp_wmi_rfkill_setup(). This makes the code somewhat cleaner, especially
with the future command 0x1b rfkill support.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
  • Loading branch information
Anssi Hannula authored and Matthew Garrett committed Mar 28, 2011
1 parent c3021ea commit eceb7bd
Showing 1 changed file with 29 additions and 17 deletions.
46 changes: 29 additions & 17 deletions drivers/platform/x86/hp-wmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -532,7 +532,7 @@ static void cleanup_sysfs(struct platform_device *device)
device_remove_file(&device->dev, &dev_attr_tablet);
}

static int __devinit hp_wmi_bios_setup(struct platform_device *device)
static int __devinit hp_wmi_rfkill_setup(struct platform_device *device)
{
int err;
int wireless = 0;
Expand All @@ -542,22 +542,6 @@ static int __devinit hp_wmi_bios_setup(struct platform_device *device)
if (err)
return err;

err = device_create_file(&device->dev, &dev_attr_display);
if (err)
goto add_sysfs_error;
err = device_create_file(&device->dev, &dev_attr_hddtemp);
if (err)
goto add_sysfs_error;
err = device_create_file(&device->dev, &dev_attr_als);
if (err)
goto add_sysfs_error;
err = device_create_file(&device->dev, &dev_attr_dock);
if (err)
goto add_sysfs_error;
err = device_create_file(&device->dev, &dev_attr_tablet);
if (err)
goto add_sysfs_error;

if (wireless & 0x1) {
wifi_rfkill = rfkill_alloc("hp-wifi", &device->dev,
RFKILL_TYPE_WLAN,
Expand Down Expand Up @@ -611,6 +595,34 @@ static int __devinit hp_wmi_bios_setup(struct platform_device *device)
rfkill_unregister(wifi_rfkill);
register_wifi_error:
rfkill_destroy(wifi_rfkill);
return err;
}

static int __devinit hp_wmi_bios_setup(struct platform_device *device)
{
int err;

err = hp_wmi_rfkill_setup(device);
if (err)
return err;

err = device_create_file(&device->dev, &dev_attr_display);
if (err)
goto add_sysfs_error;
err = device_create_file(&device->dev, &dev_attr_hddtemp);
if (err)
goto add_sysfs_error;
err = device_create_file(&device->dev, &dev_attr_als);
if (err)
goto add_sysfs_error;
err = device_create_file(&device->dev, &dev_attr_dock);
if (err)
goto add_sysfs_error;
err = device_create_file(&device->dev, &dev_attr_tablet);
if (err)
goto add_sysfs_error;
return 0;

add_sysfs_error:
cleanup_sysfs(device);
return err;
Expand Down

0 comments on commit eceb7bd

Please sign in to comment.