All of lore.kernel.org
 help / color / mirror / Atom feed
From: Corentin Chary <corentincj@iksaif.net>
To: Len Brown <lenb@kernel.org>
Cc: linux-acpi@vger.kernel.org, Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Subject: [PATCH 03/33] asus-acpi: Remove redundant NULL checks
Date: Thu,  3 Dec 2009 08:44:47 +0100	[thread overview]
Message-ID: <1259826317-18809-4-git-send-email-corentincj@iksaif.net> (raw)
In-Reply-To: <1259826317-18809-3-git-send-email-corentincj@iksaif.net>

From: Alan Jenkins <alan-jenkins@tuffmail.co.uk>

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: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
---
 drivers/platform/x86/asus_acpi.c |    6 ------
 1 files changed, 0 insertions(+), 6 deletions(-)

diff --git a/drivers/platform/x86/asus_acpi.c b/drivers/platform/x86/asus_acpi.c
index ddf5240..25a7d57 100644
--- a/drivers/platform/x86/asus_acpi.c
+++ b/drivers/platform/x86/asus_acpi.c
@@ -1334,9 +1334,6 @@ static int asus_hotk_add(struct acpi_device *device)
 	acpi_status status = AE_OK;
 	int result;
 
-	if (!device)
-		return -EINVAL;
-
 	printk(KERN_NOTICE "Asus Laptop ACPI Extras version %s\n",
 	       ASUS_ACPI_VERSION);
 
@@ -1392,9 +1389,6 @@ end:
 
 static int asus_hotk_remove(struct acpi_device *device, int type)
 {
-	if (!device || !acpi_driver_data(device))
-		return -EINVAL;
-
 	asus_hotk_remove_fs(device);
 
 	kfree(hotk);
-- 
1.6.5.3


  reply	other threads:[~2009-12-03  7:44 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-03  7:44 [PATCH 00/33] acpi4asus updates for 2.6.33 Corentin Chary
2009-12-03  7:44 ` [PATCH 01/33] eeepc-laptop: disp attribute should be write-only Corentin Chary
2009-12-03  7:44   ` [PATCH 02/33] asus-laptop: Remove redundant NULL checks Corentin Chary
2009-12-03  7:44     ` Corentin Chary [this message]
2009-12-03  7:44       ` [PATCH 04/33] asus-laptop: Remove uneccesary acpi_disabled check Corentin Chary
2009-12-03  7:44         ` [PATCH 05/33] asus-acpi: Remove uneccesary acpi_disabled checks Corentin Chary
2009-12-03  7:44           ` [PATCH 06/33] asus-acpi: set acpi_driver.owner Corentin Chary
2009-12-03  7:44             ` [PATCH 07/33] asus-laptop: " Corentin Chary
2009-12-03  7:44               ` [PATCH 08/33] eeepc-laptop: add touchpad led Corentin Chary
2009-12-03  7:44                 ` [PATCH 09/33] eeepc-laptop: Remove redundant NULL checks Corentin Chary
2009-12-03  7:44                   ` [PATCH 10/33] eeepc-laptop: Remove uneccesary acpi_disabled check Corentin Chary
2009-12-03  7:44                     ` [PATCH 11/33] eeepc-laptop: set acpi_driver.owner Corentin Chary
2009-12-03  7:44                       ` [PATCH 12/33] eeepc-laptop: fix value of pwm1_enable to match documentation Corentin Chary
2009-12-03  7:44                         ` [PATCH 13/33] eeepc-laptop: fix led initialization order Corentin Chary
2009-12-03  7:44                           ` [PATCH 14/33] eeepc-laptop: fix potential leak (led_init() failure) Corentin Chary
2009-12-03  7:44                             ` [PATCH 15/33] eeepc-laptop: fix set_acpi() to return non-zero on failure Corentin Chary
2009-12-03  7:45                               ` [PATCH 16/33] eeepc-laptop: remove redundant NULL checks Corentin Chary
2009-12-03  7:45                                 ` [PATCH 17/33] eeepc-laptop: no need to check argument of set_brightness() Corentin Chary
2009-12-03  7:45                                   ` [PATCH 18/33] eeepc-laptop: simplify acpi initialization Corentin Chary
2009-12-03  7:45                                     ` [PATCH 19/33] eeepc-laptop: simplify how the hwmon device reads values from the EC Corentin Chary
2009-12-03  7:45                                       ` [PATCH 20/33] eeepc-laptop: refactor notifications Corentin Chary
2009-12-03  7:45                                         ` [PATCH 21/33] eeepc-laptop: move platform driver registration out of eeepc_hotk_add() Corentin Chary
2009-12-03  7:45                                           ` [PATCH 22/33] eeepc-laptop: move platform device initialisation to a separate function Corentin Chary
2009-12-03  7:45                                             ` [PATCH 23/33] eeepc-laptop: code movement Corentin Chary
2009-12-03  7:45                                               ` [PATCH 24/33] eeepc-laptop: revise names Corentin Chary
2009-12-03  7:45                                                 ` [PATCH 25/33] eeepc-laptop: callbacks should use "driver data" parameter or field Corentin Chary
2009-12-03  7:45                                                   ` [PATCH 26/33] asus-laptop: use KEY_F13 to map "Disable Touchpad" event Corentin Chary
2009-12-03  7:45                                                     ` [PATCH 27/33] asus-laptop: add Lenovo SL hotkey support Corentin Chary
2009-12-03  7:45                                                       ` [PATCH 28/33] asus-laptop: Add wlan switch found on V6V Corentin Chary
2009-12-03  7:45                                                         ` [PATCH 29/33] eeepc-laptop: map keys found on newer eeepc Corentin Chary
2009-12-03  7:45                                                           ` [PATCH 30/33] eeepc-laptop: fix coding style Corentin Chary
2009-12-03  7:45                                                             ` [PATCH 31/33] eeepc-laptop: re-add check for eeepc->backlight == NULL Corentin Chary
2009-12-03  7:45                                                               ` [PATCH 32/33] input: add KEY_WIRELESS_CYCLE Corentin Chary
2009-12-03  7:45                                                                 ` [PATCH 33/33] asus-laptop: schedule display_get and lcd_switch for removal Corentin Chary
2009-12-03  7:54                                                                 ` [PATCH 32/33] input: add KEY_WIRELESS_CYCLE Dmitry Torokhov
2009-12-03  8:12                                                                   ` Corentin Chary
2009-12-03  8:21                                                                     ` Dmitry Torokhov
2009-12-03  8:51                                                                       ` Corentin Chary
2009-12-03  8:57                                                                         ` Dmitry Torokhov
2009-12-03  9:22                                                                           ` Corentin Chary
2009-12-03  9:43                                                                             ` Johannes Berg
2009-12-03 11:23                                                                               ` [Kde-hardware-devel] " Will Stephenson
2009-12-03 11:23                                                                                 ` Will Stephenson
2009-12-03 15:01                                                                             ` Matthew Garrett
2009-12-06  6:58                                                                     ` Andrey Rahmatullin
2009-12-06  7:17                                                                       ` Dmitry Torokhov
2009-12-06  8:21                                                                         ` Corentin Chary
2009-12-06 14:54                                                                           ` Matthew Garrett
2009-12-07 11:47                                                                             ` Henrique de Moraes Holschuh
2009-12-07 12:55                                                                               ` Matthew Garrett
2009-12-07 13:23                                                                                 ` Henrique de Moraes Holschuh
2009-12-07 14:20                                                                                   ` Matthew Garrett
2009-12-07 17:02                                                                                     ` Henrique de Moraes Holschuh
2009-12-03 10:54                                                                   ` Henrique de Moraes Holschuh
2009-12-09 21:04 ` [PATCH 00/33] acpi4asus updates for 2.6.33 Len Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1259826317-18809-4-git-send-email-corentincj@iksaif.net \
    --to=corentincj@iksaif.net \
    --cc=alan-jenkins@tuffmail.co.uk \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.