parport: Remove the now superfluous sentinel element from ctl_table array
authorJoel Granados <j.granados@samsung.com>
Mon, 2 Oct 2023 08:55:23 +0000 (10:55 +0200)
committerLuis Chamberlain <mcgrof@kernel.org>
Wed, 11 Oct 2023 19:16:13 +0000 (12:16 -0700)
This commit comes at the tail end of a greater effort to remove the
empty elements at the end of the ctl_table arrays (sentinels) which
will reduce the overall build time size of the kernel and run time
memory bloat by ~64 bytes per sentinel (further information Link :
https://lore.kernel.org/all/ZO5Yx5JFogGi%2FcBo@bombadil.infradead.org/)

Remove the unneeded ctl_tables that were used to register intermediate
parport directories; only the path is needed at this point. From
parport_device_sysctl_table we removed: devices_root_dir, port_dir,
parport_dir and dev_dir. From parport_default_sysctl_table we removed:
default_dir, parport_dir and dev_dir. Reduce the size by one of the
ctl_table arrays that were not removed

Assign different sizes to the vars array in parport_sysctl_table
depending on CONFIG_PARPORT_1284; this is necessary now that the sysctl
register function uses ARRAY_SIZE to calculate the elements within.
Remove the sentinel element from parport_sysctl_template,
parport_device_sysctl_table and parport_default_sysctl_table.

Signed-off-by: Joel Granados <j.granados@samsung.com>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
drivers/parport/procfs.c

index 4e5b972c3e2633527287e1ee663224654f8d55f9..532d5cbbd34480b09935190957d40f18037c572e 100644 (file)
@@ -259,8 +259,12 @@ PARPORT_MAX_SPINTIME_VALUE;
 struct parport_sysctl_table {
        struct ctl_table_header *port_header;
        struct ctl_table_header *devices_header;
-       struct ctl_table vars[12];
-       struct ctl_table device_dir[2];
+#ifdef CONFIG_PARPORT_1284
+       struct ctl_table vars[10];
+#else
+       struct ctl_table vars[5];
+#endif /* IEEE 1284 support */
+       struct ctl_table device_dir[1];
 };
 
 static const struct parport_sysctl_table parport_sysctl_template = {
@@ -341,7 +345,6 @@ static const struct parport_sysctl_table parport_sysctl_template = {
                        .proc_handler   = do_autoprobe
                },
 #endif /* IEEE 1284 support */
-               {}
        },
        {
                {
@@ -351,19 +354,14 @@ static const struct parport_sysctl_table parport_sysctl_template = {
                        .mode           = 0444,
                        .proc_handler   = do_active_device
                },
-               {}
        },
 };
 
 struct parport_device_sysctl_table
 {
        struct ctl_table_header *sysctl_header;
-       struct ctl_table vars[2];
-       struct ctl_table device_dir[2];
-       struct ctl_table devices_root_dir[2];
-       struct ctl_table port_dir[2];
-       struct ctl_table parport_dir[2];
-       struct ctl_table dev_dir[2];
+       struct ctl_table vars[1];
+       struct ctl_table device_dir[1];
 };
 
 static const struct parport_device_sysctl_table
@@ -379,7 +377,6 @@ parport_device_sysctl_template = {
                        .extra1         = (void*) &parport_min_timeslice_value,
                        .extra2         = (void*) &parport_max_timeslice_value
                },
-               {}
        },
        {
                {
@@ -388,17 +385,13 @@ parport_device_sysctl_template = {
                        .maxlen         = 0,
                        .mode           = 0555,
                },
-               {}
        }
 };
 
 struct parport_default_sysctl_table
 {
        struct ctl_table_header *sysctl_header;
-       struct ctl_table vars[3];
-       struct ctl_table default_dir[2];
-       struct ctl_table parport_dir[2];
-       struct ctl_table dev_dir[2];
+       struct ctl_table vars[2];
 };
 
 static struct parport_default_sysctl_table
@@ -423,7 +416,6 @@ parport_default_sysctl_table = {
                        .extra1         = (void*) &parport_min_spintime_value,
                        .extra2         = (void*) &parport_max_spintime_value
                },
-               {}
        }
 };
 
@@ -443,7 +435,9 @@ int parport_proc_register(struct parport *port)
        t->vars[0].data = &port->spintime;
        for (i = 0; i < 5; i++) {
                t->vars[i].extra1 = port;
+#ifdef CONFIG_PARPORT_1284
                t->vars[5 + i].extra2 = &port->probe_info[i];
+#endif /* IEEE 1284 support */
        }
 
        port_name_len = strnlen(port->name, PARPORT_NAME_MAX_LEN);