提交 2d5db0be 编写于 作者: A Alan Jenkins 提交者: Len Brown

asus-acpi: Remove redundant NULL checks

The acpi device callbacks add, start, remove, suspend and resume can
never be called with a NULL acpi_device. Each callsite in acpi/scan.c
has to dereference the device in order to get the ops structure, e.g.

    struct acpi_device *acpi_dev = to_acpi_device(dev);
    struct acpi_driver *acpi_drv = acpi_dev->driver;

    if (acpi_drv && acpi_drv->ops.suspend)
        return acpi_drv->ops.suspend(acpi_dev, state);

Remove all checks for acpi_dev == NULL within these callbacks.

Also remove the checks for acpi_driver_data(acpi_dev) == NULL. None of
these checks could fail unless the driver does something strange
(which none of them do), the acpi core did something terribly wrong,
or we have a memory corruption issue. If this does happen then it's
best to dereference the pointer and crash noisily.
Signed-off-by: NAlan Jenkins <alan-jenkins@tuffmail.co.uk>
Signed-off-by: NLen Brown <len.brown@intel.com>
上级 1df8d8d4
...@@ -1334,9 +1334,6 @@ static int asus_hotk_add(struct acpi_device *device) ...@@ -1334,9 +1334,6 @@ static int asus_hotk_add(struct acpi_device *device)
acpi_status status = AE_OK; acpi_status status = AE_OK;
int result; int result;
if (!device)
return -EINVAL;
printk(KERN_NOTICE "Asus Laptop ACPI Extras version %s\n", printk(KERN_NOTICE "Asus Laptop ACPI Extras version %s\n",
ASUS_ACPI_VERSION); ASUS_ACPI_VERSION);
...@@ -1392,9 +1389,6 @@ static int asus_hotk_add(struct acpi_device *device) ...@@ -1392,9 +1389,6 @@ static int asus_hotk_add(struct acpi_device *device)
static int asus_hotk_remove(struct acpi_device *device, int type) static int asus_hotk_remove(struct acpi_device *device, int type)
{ {
if (!device || !acpi_driver_data(device))
return -EINVAL;
asus_hotk_remove_fs(device); asus_hotk_remove_fs(device);
kfree(hotk); kfree(hotk);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册