acpi: remove unused LIST_HEAD(acpi_device_list) && more static analysis

From: cheng renquan
Date: Tue Jul 10 2012 - 03:00:29 EST


I just came across this file and found this LIST_HEAD(acpi_device_list)
was referred in early days before 2.6.11 but not in use nowadays,
^1da177e drivers/acpi/scan.c (Linus Torvalds 2005-04-16
15:20:36 -0700 31) static LIST_HEAD(acpi_device_list);

it is expanded to this line of referring itself form so gcc won't emit
a warning,
static struct list_head acpi_device_list = { &(acpi_device_list),
&(acpi_device_list) };

If change to this line of just declaration then it could really cause
a gcc warning:
+static struct list_head acpi_device_list;
drivers/acpi/scan.c:31:25: warning: âacpi_device_listâ defined but not
used [-Wunused-variable]

Now I'm guessing the kernel code may have more such dead variables,
at least we could do a globally search to see there are more LIST_HEAD
declaration without a 2nd reference; but does anyone have done this before
or know any existing tools / such static analysis approaches?

Thanks,


===

$ git diff HEAD -- drivers/acpi/scan.c
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
index 85cbfdc..7d26ae0 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -28,7 +28,7 @@ extern struct acpi_device *acpi_root;

static const char *dummy_hid = "device";

-static LIST_HEAD(acpi_device_list);
static LIST_HEAD(acpi_bus_id_list);
DEFINE_MUTEX(acpi_device_lock);
LIST_HEAD(acpi_wakeup_device_list);


--
Cheng Renquan (çäå)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/