Fake "address-of" expressions that evaluate to NULL generally confuse readers and can provoke compiler warnings. This patch (as1412) removes three such fake expressions, using "#ifdef"s in their place. Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> --- Linus complained about one of these things in the SCSI PM changeset. I figured the other usages under USB should be removed also. Alan Stern Index: usb-2.6/drivers/usb/core/driver.c =================================================================== --- usb-2.6.orig/drivers/usb/core/driver.c +++ usb-2.6/drivers/usb/core/driver.c @@ -1791,15 +1791,13 @@ static const struct dev_pm_ops usb_bus_p .runtime_idle = usb_runtime_idle, }; -#else - -#define usb_bus_pm_ops (*(const struct dev_pm_ops *) NULL) - #endif /* CONFIG_USB_SUSPEND */ struct bus_type usb_bus_type = { .name = "usb", .match = usb_device_match, .uevent = usb_uevent, +#ifdef CONFIG_USB_SUSPEND .pm = &usb_bus_pm_ops, +#endif }; Index: usb-2.6/drivers/usb/core/usb.c =================================================================== --- usb-2.6.orig/drivers/usb/core/usb.c +++ usb-2.6/drivers/usb/core/usb.c @@ -317,10 +317,6 @@ static const struct dev_pm_ops usb_devic .restore = usb_dev_restore, }; -#else - -#define usb_device_pm_ops (*(struct dev_pm_ops *) NULL) - #endif /* CONFIG_PM */ @@ -338,7 +334,9 @@ struct device_type usb_device_type = { .release = usb_release_dev, .uevent = usb_dev_uevent, .devnode = usb_devnode, +#ifdef CONFIG_PM .pm = &usb_device_pm_ops, +#endif }; Index: usb-2.6/drivers/usb/host/uhci-debug.c =================================================================== --- usb-2.6.orig/drivers/usb/host/uhci-debug.c +++ usb-2.6/drivers/usb/host/uhci-debug.c @@ -17,7 +17,6 @@ #include "uhci-hcd.h" -#define uhci_debug_operations (* (const struct file_operations *) NULL) static struct dentry *uhci_debugfs_root; #ifdef DEBUG @@ -558,7 +557,6 @@ static int uhci_debug_release(struct ino return 0; } -#undef uhci_debug_operations static const struct file_operations uhci_debug_operations = { .owner = THIS_MODULE, .open = uhci_debug_open, @@ -566,6 +564,7 @@ static const struct file_operations uhci .read = uhci_debug_read, .release = uhci_debug_release, }; +#define UHCI_DEBUG_OPS #endif /* CONFIG_DEBUG_FS */ Index: usb-2.6/drivers/usb/host/uhci-hcd.c =================================================================== --- usb-2.6.orig/drivers/usb/host/uhci-hcd.c +++ usb-2.6/drivers/usb/host/uhci-hcd.c @@ -597,7 +597,7 @@ static int uhci_start(struct usb_hcd *hc struct uhci_hcd *uhci = hcd_to_uhci(hcd); int retval = -EBUSY; int i; - struct dentry *dentry; + struct dentry __maybe_unused *dentry; hcd->uses_new_polling = 1; @@ -607,18 +607,16 @@ static int uhci_start(struct usb_hcd *hc INIT_LIST_HEAD(&uhci->idle_qh_list); init_waitqueue_head(&uhci->waitqh); - if (DEBUG_CONFIGURED) { - dentry = debugfs_create_file(hcd->self.bus_name, - S_IFREG|S_IRUGO|S_IWUSR, uhci_debugfs_root, - uhci, &uhci_debug_operations); - if (!dentry) { - dev_err(uhci_dev(uhci), "couldn't create uhci " - "debugfs entry\n"); - retval = -ENOMEM; - goto err_create_debug_entry; - } - uhci->dentry = dentry; +#ifdef UHCI_DEBUG_OPS + dentry = debugfs_create_file(hcd->self.bus_name, + S_IFREG|S_IRUGO|S_IWUSR, uhci_debugfs_root, + uhci, &uhci_debug_operations); + if (!dentry) { + dev_err(uhci_dev(uhci), "couldn't create uhci debugfs entry\n"); + return -ENOMEM; } + uhci->dentry = dentry; +#endif uhci->frame = dma_alloc_coherent(uhci_dev(uhci), UHCI_NUMFRAMES * sizeof(*uhci->frame), @@ -732,7 +730,6 @@ err_alloc_frame_cpu: err_alloc_frame: debugfs_remove(uhci->dentry); -err_create_debug_entry: return retval; } -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html