Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 177579
b: refs/heads/master
c: fe06fba
h: refs/heads/master
i:
  177577: b110adc
  177575: ec702b3
v: v3
  • Loading branch information
Alex Chiang authored and Len Brown committed Dec 16, 2009
1 parent d4434c0 commit bb5c260
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 28 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 9751cb721ef650729e981c7b39abb7676cd646e1
refs/heads/master: fe06fba292af5ed5c1c6ad9af3a9ef68da7a5088
40 changes: 13 additions & 27 deletions trunk/drivers/acpi/dock.c
Original file line number Diff line number Diff line change
Expand Up @@ -843,8 +843,7 @@ static ssize_t show_docked(struct device *dev,
{
struct acpi_device *tmp;

struct dock_station *dock_station = *((struct dock_station **)
dev->platform_data);
struct dock_station *dock_station = dev->platform_data;

if (ACPI_SUCCESS(acpi_bus_get_device(dock_station->handle, &tmp)))
return snprintf(buf, PAGE_SIZE, "1\n");
Expand All @@ -858,8 +857,7 @@ static DEVICE_ATTR(docked, S_IRUGO, show_docked, NULL);
static ssize_t show_flags(struct device *dev,
struct device_attribute *attr, char *buf)
{
struct dock_station *dock_station = *((struct dock_station **)
dev->platform_data);
struct dock_station *dock_station = dev->platform_data;
return snprintf(buf, PAGE_SIZE, "%d\n", dock_station->flags);

}
Expand All @@ -872,8 +870,7 @@ static ssize_t write_undock(struct device *dev, struct device_attribute *attr,
const char *buf, size_t count)
{
int ret;
struct dock_station *dock_station = *((struct dock_station **)
dev->platform_data);
struct dock_station *dock_station = dev->platform_data;

if (!count)
return -EINVAL;
Expand All @@ -891,8 +888,7 @@ static ssize_t show_dock_uid(struct device *dev,
struct device_attribute *attr, char *buf)
{
unsigned long long lbuf;
struct dock_station *dock_station = *((struct dock_station **)
dev->platform_data);
struct dock_station *dock_station = dev->platform_data;
acpi_status status = acpi_evaluate_integer(dock_station->handle,
"_UID", NULL, &lbuf);
if (ACPI_FAILURE(status))
Expand All @@ -905,8 +901,7 @@ static DEVICE_ATTR(uid, S_IRUGO, show_dock_uid, NULL);
static ssize_t show_dock_type(struct device *dev,
struct device_attribute *attr, char *buf)
{
struct dock_station *dock_station = *((struct dock_station **)
dev->platform_data);
struct dock_station *dock_station = dev->platform_data;
char *type;

if (dock_station->flags & DOCK_IS_DOCK)
Expand Down Expand Up @@ -944,20 +939,18 @@ static struct attribute_group dock_attribute_group = {
*/
static int dock_add(acpi_handle handle)
{
int ret;
struct dock_station *dock_station;
int ret, id;
struct dock_station ds, *dock_station;
struct platform_device *dock_device;

id = dock_station_count;
dock_device =
platform_device_register_simple("dock",
dock_station_count, NULL, 0);
platform_device_register_data(NULL, "dock",
id, &ds, sizeof(ds));
if (IS_ERR(dock_device))
return PTR_ERR(dock_device);

/* allocate & initialize the dock_station private data */
dock_station = kzalloc(sizeof(*dock_station), GFP_KERNEL);
if (!dock_station)
return -ENOMEM;
dock_station = dock_device->dev.platform_data;
dock_station->handle = handle;
dock_station->dock_device = dock_device;
dock_station->last_dock_time = jiffies - HZ;
Expand All @@ -968,9 +961,6 @@ static int dock_add(acpi_handle handle)
mutex_init(&dock_station->hp_lock);
ATOMIC_INIT_NOTIFIER_HEAD(&dock_notifier_list);

platform_device_add_data(dock_device, &dock_station,
sizeof(struct dock_station *));

/* we want the dock device to send uevents */
dev_set_uevent_suppress(&dock_device->dev, 0);

Expand Down Expand Up @@ -1003,9 +993,6 @@ static int dock_add(acpi_handle handle)
sysfs_remove_group(&dock_device->dev.kobj, &dock_attribute_group);
err_unregister:
platform_device_unregister(dock_device);
out:
kfree(dock_station);
dock_station = NULL;
printk(KERN_ERR "%s encountered error %d\n", __func__, ret);
return ret;
}
Expand All @@ -1026,13 +1013,12 @@ static int dock_remove(struct dock_station *dock_station)
list)
kfree(dd);

list_del(&dock_station->sibling);

/* cleanup sysfs */
sysfs_remove_group(&dock_device->dev.kobj, &dock_attribute_group);
platform_device_unregister(dock_device);

/* free dock station memory */
kfree(dock_station);
dock_station = NULL;
return 0;
}

Expand Down

0 comments on commit bb5c260

Please sign in to comment.