PNP: remove null pointer checks
authorBjorn Helgaas <bjorn.helgaas@hp.com>
Wed, 17 Oct 2007 06:31:09 +0000 (23:31 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Wed, 17 Oct 2007 15:43:04 +0000 (08:43 -0700)
Remove some null pointer checks.  Null pointers in these areas indicate
programming errors, and I think it's better to oops immediately rather than
return an error that is easily ignored.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: Adam Belay <ambx1@neo.rr.com>
Cc: Len Brown <lenb@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/pnp/card.c
include/linux/pnp.h

index 6c0440c20e3199a0a51f2f567b7ffb73379f18f7..fae28913f4599bfde38753167de9aeec1b214930 100644 (file)
@@ -104,10 +104,6 @@ int pnp_add_card_id(struct pnp_id *id, struct pnp_card *card)
 {
        struct pnp_id *ptr;
 
-       if (!id)
-               return -EINVAL;
-       if (!card)
-               return -EINVAL;
        id->next = NULL;
        ptr = card->id;
        while (ptr && ptr->next)
@@ -124,8 +120,6 @@ static void pnp_free_card_ids(struct pnp_card *card)
        struct pnp_id *id;
        struct pnp_id *next;
 
-       if (!card)
-               return;
        id = card->id;
        while (id) {
                next = id->next;
@@ -197,9 +191,6 @@ int pnp_add_card(struct pnp_card *card)
        int error;
        struct list_head *pos, *temp;
 
-       if (!card || !card->protocol)
-               return -EINVAL;
-
        sprintf(card->dev.bus_id, "%02x:%02x", card->protocol->number,
                card->number);
        card->dev.parent = &card->protocol->dev;
@@ -243,8 +234,6 @@ void pnp_remove_card(struct pnp_card *card)
 {
        struct list_head *pos, *temp;
 
-       if (!card)
-               return;
        device_unregister(&card->dev);
        spin_lock(&pnp_lock);
        list_del(&card->global_list);
@@ -263,8 +252,6 @@ void pnp_remove_card(struct pnp_card *card)
  */
 int pnp_add_card_device(struct pnp_card *card, struct pnp_dev *dev)
 {
-       if (!card || !dev || !dev->protocol)
-               return -EINVAL;
        dev->dev.parent = &card->dev;
        dev->card_link = NULL;
        snprintf(dev->dev.bus_id, BUS_ID_SIZE, "%02x:%02x.%02x",
@@ -348,8 +335,6 @@ void pnp_release_card_device(struct pnp_dev *dev)
 {
        struct pnp_card_driver *drv = dev->card_link->driver;
 
-       if (!drv)
-               return;
        drv->link.remove = &card_remove;
        device_release_driver(&dev->dev);
        drv->link.remove = &card_remove_first;
index 16b46aace3490413107532583ebeeb3ca85d7084..664d68cb1fbde9ba4f78d2099924ed9f209aa1ff 100644 (file)
@@ -243,11 +243,11 @@ struct pnp_fixup {
 #define PNP_CONFIGURABLE       0x0008
 #define PNP_REMOVABLE          0x0010
 
-#define pnp_can_read(dev)      (((dev)->protocol) && ((dev)->protocol->get) && \
+#define pnp_can_read(dev)      (((dev)->protocol->get) && \
                                 ((dev)->capabilities & PNP_READ))
-#define pnp_can_write(dev)     (((dev)->protocol) && ((dev)->protocol->set) && \
+#define pnp_can_write(dev)     (((dev)->protocol->set) && \
                                 ((dev)->capabilities & PNP_WRITE))
-#define pnp_can_disable(dev)   (((dev)->protocol) && ((dev)->protocol->disable) && \
+#define pnp_can_disable(dev)   (((dev)->protocol->disable) && \
                                 ((dev)->capabilities & PNP_DISABLE))
 #define pnp_can_configure(dev) ((!(dev)->active) && \
                                 ((dev)->capabilities & PNP_CONFIGURABLE))