usb-storage: Use const to reduce object data size
Make structs const to reduce data size ~20KB. Change function arguments and prototypes as necessary to compile. $ size (x86-64 defconfig pre) text data bss dec hex filename 12281 10948 480 23709 5c9d ./drivers/usb/storage/usb.o 111 10528 8 10647 2997 ./drivers/usb/storage/usual-tables.o $ size (x86-64 defconfig post) text data bss dec hex filename 22809 420 480 23709 5c9d drivers/usb/storage/usb.o 10551 0 0 10551 2937 drivers/usb/storage/usual-tables.o Signed-off-by: Joe Perches <joe@perches.com> Acked-by: Alan Stern <stern@rowland.harvard.edu> Link: https://lore.kernel.org/r/cf13bd2d790ae3afbf5da55ea7bed12e00c5119d.camel@perches.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
28926994e5
Коммит
10892847de
|
@ -121,12 +121,12 @@ MODULE_PARM_DESC(quirks, "supplemental list of device IDs and their quirks");
|
|||
.initFunction = init_function, \
|
||||
}
|
||||
|
||||
static struct us_unusual_dev us_unusual_dev_list[] = {
|
||||
static const struct us_unusual_dev us_unusual_dev_list[] = {
|
||||
# include "unusual_devs.h"
|
||||
{ } /* Terminating entry */
|
||||
};
|
||||
|
||||
static struct us_unusual_dev for_dynamic_ids =
|
||||
static const struct us_unusual_dev for_dynamic_ids =
|
||||
USUAL_DEV(USB_SC_SCSI, USB_PR_BULK);
|
||||
|
||||
#undef UNUSUAL_DEV
|
||||
|
@ -583,7 +583,7 @@ EXPORT_SYMBOL_GPL(usb_stor_adjust_quirks);
|
|||
|
||||
/* Get the unusual_devs entries and the string descriptors */
|
||||
static int get_device_info(struct us_data *us, const struct usb_device_id *id,
|
||||
struct us_unusual_dev *unusual_dev)
|
||||
const struct us_unusual_dev *unusual_dev)
|
||||
{
|
||||
struct usb_device *dev = us->pusb_dev;
|
||||
struct usb_interface_descriptor *idesc =
|
||||
|
@ -933,7 +933,7 @@ static unsigned int usb_stor_sg_tablesize(struct usb_interface *intf)
|
|||
int usb_stor_probe1(struct us_data **pus,
|
||||
struct usb_interface *intf,
|
||||
const struct usb_device_id *id,
|
||||
struct us_unusual_dev *unusual_dev,
|
||||
const struct us_unusual_dev *unusual_dev,
|
||||
struct scsi_host_template *sht)
|
||||
{
|
||||
struct Scsi_Host *host;
|
||||
|
@ -1092,7 +1092,7 @@ static struct scsi_host_template usb_stor_host_template;
|
|||
static int storage_probe(struct usb_interface *intf,
|
||||
const struct usb_device_id *id)
|
||||
{
|
||||
struct us_unusual_dev *unusual_dev;
|
||||
const struct us_unusual_dev *unusual_dev;
|
||||
struct us_data *us;
|
||||
int result;
|
||||
int size;
|
||||
|
|
|
@ -93,7 +93,8 @@ struct us_data {
|
|||
struct mutex dev_mutex; /* protect pusb_dev */
|
||||
struct usb_device *pusb_dev; /* this usb_device */
|
||||
struct usb_interface *pusb_intf; /* this interface */
|
||||
struct us_unusual_dev *unusual_dev; /* device-filter entry */
|
||||
const struct us_unusual_dev *unusual_dev;
|
||||
/* device-filter entry */
|
||||
unsigned long fflags; /* fixed flags from filter */
|
||||
unsigned long dflags; /* dynamic atomic bitflags */
|
||||
unsigned int send_bulk_pipe; /* cached pipe values */
|
||||
|
@ -185,7 +186,7 @@ extern int usb_stor_post_reset(struct usb_interface *iface);
|
|||
extern int usb_stor_probe1(struct us_data **pus,
|
||||
struct usb_interface *intf,
|
||||
const struct usb_device_id *id,
|
||||
struct us_unusual_dev *unusual_dev,
|
||||
const struct us_unusual_dev *unusual_dev,
|
||||
struct scsi_host_template *sht);
|
||||
extern int usb_stor_probe2(struct us_data *us);
|
||||
extern void usb_stor_disconnect(struct usb_interface *intf);
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
.driver_info = (flags) \
|
||||
}
|
||||
|
||||
struct usb_device_id usb_storage_usb_ids[] = {
|
||||
const struct usb_device_id usb_storage_usb_ids[] = {
|
||||
# include "unusual_devs.h"
|
||||
{ } /* Terminating entry */
|
||||
};
|
||||
|
@ -68,7 +68,7 @@ struct ignore_entry {
|
|||
.bcdmax = bcdDeviceMax, \
|
||||
}
|
||||
|
||||
static struct ignore_entry ignore_ids[] = {
|
||||
static const struct ignore_entry ignore_ids[] = {
|
||||
# include "unusual_alauda.h"
|
||||
# include "unusual_cypress.h"
|
||||
# include "unusual_datafab.h"
|
||||
|
@ -92,7 +92,7 @@ int usb_usual_ignore_device(struct usb_interface *intf)
|
|||
{
|
||||
struct usb_device *udev;
|
||||
unsigned vid, pid, bcd;
|
||||
struct ignore_entry *p;
|
||||
const struct ignore_entry *p;
|
||||
|
||||
udev = interface_to_usbdev(intf);
|
||||
vid = le16_to_cpu(udev->descriptor.idVendor);
|
||||
|
|
|
@ -92,6 +92,6 @@ enum { US_DO_ALL_FLAGS };
|
|||
#include <linux/usb/storage.h>
|
||||
|
||||
extern int usb_usual_ignore_device(struct usb_interface *intf);
|
||||
extern struct usb_device_id usb_storage_usb_ids[];
|
||||
extern const struct usb_device_id usb_storage_usb_ids[];
|
||||
|
||||
#endif /* __LINUX_USB_USUAL_H */
|
||||
|
|
Загрузка…
Ссылка в новой задаче