From mboxrd@z Thu Jan 1 00:00:00 1970 From: Martijn Coenen Subject: [PATCH 6/6] RFC: USB: storage: move symbols into USB_STORAGE namespace. Date: Mon, 16 Jul 2018 14:21:25 +0200 Message-ID: <20180716122125.175792-7-maco@android.com> References: <20180716122125.175792-1-maco@android.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <20180716122125.175792-1-maco@android.com> Sender: linux-kernel-owner@vger.kernel.org To: linux-kernel@vger.kernel.org Cc: Martijn Coenen , Masahiro Yamada , Michal Marek , Geert Uytterhoeven , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, Alan Stern , Greg Kroah-Hartman , Oliver Neukum , Arnd Bergmann , Jessica Yu , Stephen Boyd , Philippe Ombredanne , Kate Stewart , Sam Ravnborg , linux-kbuild@vger.kernel.org, linux-m68k@lists.linux-m68k.org, linux-usb@vger.kernel.org, usb-storage@lists.one-eyed-alien.net, linux-scsi List-Id: linux-arch.vger.kernel.org Modules using these symbols must now import this namesapce explicitly. Signed-off-by: Martijn Coenen --- drivers/usb/storage/alauda.c | 1 + drivers/usb/storage/cypress_atacb.c | 1 + drivers/usb/storage/datafab.c | 1 + drivers/usb/storage/ene_ub6250.c | 1 + drivers/usb/storage/freecom.c | 1 + drivers/usb/storage/isd200.c | 1 + drivers/usb/storage/jumpshot.c | 1 + drivers/usb/storage/karma.c | 1 + drivers/usb/storage/onetouch.c | 1 + drivers/usb/storage/realtek_cr.c | 1 + drivers/usb/storage/sddr09.c | 1 + drivers/usb/storage/sddr55.c | 1 + drivers/usb/storage/shuttle_usbat.c | 1 + drivers/usb/storage/uas.c | 1 + drivers/usb/storage/usb.c | 20 ++++++++++---------- 15 files changed, 24 insertions(+), 10 deletions(-) diff --git a/drivers/usb/storage/alauda.c b/drivers/usb/storage/alauda.c index 6b8edf6178df..ddab2cd3d2e7 100644 --- a/drivers/usb/storage/alauda.c +++ b/drivers/usb/storage/alauda.c @@ -36,6 +36,7 @@ MODULE_DESCRIPTION("Driver for Alauda-based card readers"); MODULE_AUTHOR("Daniel Drake "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); /* * Status bytes diff --git a/drivers/usb/storage/cypress_atacb.c b/drivers/usb/storage/cypress_atacb.c index 4825902377eb..a6f3267bbef6 100644 --- a/drivers/usb/storage/cypress_atacb.c +++ b/drivers/usb/storage/cypress_atacb.c @@ -22,6 +22,7 @@ MODULE_DESCRIPTION("SAT support for Cypress USB/ATA bridges with ATACB"); MODULE_AUTHOR("Matthieu Castet "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); /* * The table of devices diff --git a/drivers/usb/storage/datafab.c b/drivers/usb/storage/datafab.c index 09353be199be..588818483f4b 100644 --- a/drivers/usb/storage/datafab.c +++ b/drivers/usb/storage/datafab.c @@ -54,6 +54,7 @@ MODULE_DESCRIPTION("Driver for Datafab USB Compact Flash reader"); MODULE_AUTHOR("Jimmie Mayfield "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); struct datafab_info { unsigned long sectors; /* total sector count */ diff --git a/drivers/usb/storage/ene_ub6250.c b/drivers/usb/storage/ene_ub6250.c index 4d261e4de9ad..57e782a62acd 100644 --- a/drivers/usb/storage/ene_ub6250.c +++ b/drivers/usb/storage/ene_ub6250.c @@ -26,6 +26,7 @@ MODULE_DESCRIPTION("Driver for ENE UB6250 reader"); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); MODULE_FIRMWARE(SD_INIT1_FIRMWARE); MODULE_FIRMWARE(SD_INIT2_FIRMWARE); MODULE_FIRMWARE(SD_RW_FIRMWARE); diff --git a/drivers/usb/storage/freecom.c b/drivers/usb/storage/freecom.c index 4f542df37a44..34e7eaff1174 100644 --- a/drivers/usb/storage/freecom.c +++ b/drivers/usb/storage/freecom.c @@ -29,6 +29,7 @@ MODULE_DESCRIPTION("Driver for Freecom USB/IDE adaptor"); MODULE_AUTHOR("David Brown "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); #ifdef CONFIG_USB_STORAGE_DEBUG static void pdump(struct us_data *us, void *ibuffer, int length); diff --git a/drivers/usb/storage/isd200.c b/drivers/usb/storage/isd200.c index f5e4500d9970..7abb5687b2f6 100644 --- a/drivers/usb/storage/isd200.c +++ b/drivers/usb/storage/isd200.c @@ -53,6 +53,7 @@ MODULE_DESCRIPTION("Driver for In-System Design, Inc. ISD200 ASIC"); MODULE_AUTHOR("Björn Stenberg "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); static int isd200_Initialization(struct us_data *us); diff --git a/drivers/usb/storage/jumpshot.c b/drivers/usb/storage/jumpshot.c index 917f170c4124..229bf0c1afc9 100644 --- a/drivers/usb/storage/jumpshot.c +++ b/drivers/usb/storage/jumpshot.c @@ -51,6 +51,7 @@ MODULE_DESCRIPTION("Driver for Lexar \"Jumpshot\" Compact Flash reader"); MODULE_AUTHOR("Jimmie Mayfield "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); /* * The table of devices diff --git a/drivers/usb/storage/karma.c b/drivers/usb/storage/karma.c index edcf2be0e0eb..2b6e74afdcbd 100644 --- a/drivers/usb/storage/karma.c +++ b/drivers/usb/storage/karma.c @@ -23,6 +23,7 @@ MODULE_DESCRIPTION("Driver for Rio Karma"); MODULE_AUTHOR("Bob Copeland , Keith Bennett "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); #define RIO_PREFIX "RIOP\x00" #define RIO_PREFIX_LEN 5 diff --git a/drivers/usb/storage/onetouch.c b/drivers/usb/storage/onetouch.c index 39a5009a41a6..a989fe930e21 100644 --- a/drivers/usb/storage/onetouch.c +++ b/drivers/usb/storage/onetouch.c @@ -25,6 +25,7 @@ MODULE_DESCRIPTION("Maxtor USB OneTouch hard drive button driver"); MODULE_AUTHOR("Nick Sillik "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); #define ONETOUCH_PKT_LEN 0x02 #define ONETOUCH_BUTTON KEY_PROG1 diff --git a/drivers/usb/storage/realtek_cr.c b/drivers/usb/storage/realtek_cr.c index 31b024441938..96c45fee687a 100644 --- a/drivers/usb/storage/realtek_cr.c +++ b/drivers/usb/storage/realtek_cr.c @@ -35,6 +35,7 @@ MODULE_DESCRIPTION("Driver for Realtek USB Card Reader"); MODULE_AUTHOR("wwang "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); static int auto_delink_en = 1; module_param(auto_delink_en, int, S_IRUGO | S_IWUSR); diff --git a/drivers/usb/storage/sddr09.c b/drivers/usb/storage/sddr09.c index bc9da736bdfc..51bcd4a43690 100644 --- a/drivers/usb/storage/sddr09.c +++ b/drivers/usb/storage/sddr09.c @@ -47,6 +47,7 @@ MODULE_DESCRIPTION("Driver for SanDisk SDDR-09 SmartMedia reader"); MODULE_AUTHOR("Andries Brouwer , Robert Baruch "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); static int usb_stor_sddr09_dpcm_init(struct us_data *us); static int sddr09_transport(struct scsi_cmnd *srb, struct us_data *us); diff --git a/drivers/usb/storage/sddr55.c b/drivers/usb/storage/sddr55.c index b8527c55335b..ba955d65eb0e 100644 --- a/drivers/usb/storage/sddr55.c +++ b/drivers/usb/storage/sddr55.c @@ -29,6 +29,7 @@ MODULE_DESCRIPTION("Driver for SanDisk SDDR-55 SmartMedia reader"); MODULE_AUTHOR("Simon Munton"); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); /* * The table of devices diff --git a/drivers/usb/storage/shuttle_usbat.c b/drivers/usb/storage/shuttle_usbat.c index 854498e1012c..54aa1392c9ca 100644 --- a/drivers/usb/storage/shuttle_usbat.c +++ b/drivers/usb/storage/shuttle_usbat.c @@ -48,6 +48,7 @@ MODULE_DESCRIPTION("Driver for SCM Microsystems (a.k.a. Shuttle) USB-ATAPI cable"); MODULE_AUTHOR("Daniel Drake , Robert Baruch "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); /* Supported device types */ #define USBAT_DEV_HP8200 0x01 diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c index 9e9de5452860..0a9b20478ee9 100644 --- a/drivers/usb/storage/uas.c +++ b/drivers/usb/storage/uas.c @@ -1195,5 +1195,6 @@ static struct usb_driver uas_driver = { module_usb_driver(uas_driver); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); MODULE_AUTHOR( "Hans de Goede , Matthew Wilcox and Sarah Sharp"); diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c index 9a79cd9762f3..fd5adc4e95d8 100644 --- a/drivers/usb/storage/usb.c +++ b/drivers/usb/storage/usb.c @@ -184,7 +184,7 @@ int usb_stor_suspend(struct usb_interface *iface, pm_message_t message) mutex_unlock(&us->dev_mutex); return 0; } -EXPORT_SYMBOL_GPL(usb_stor_suspend); +EXPORT_SYMBOL_NS_GPL(usb_stor_suspend, USB_STORAGE); int usb_stor_resume(struct usb_interface *iface) { @@ -198,7 +198,7 @@ int usb_stor_resume(struct usb_interface *iface) mutex_unlock(&us->dev_mutex); return 0; } -EXPORT_SYMBOL_GPL(usb_stor_resume); +EXPORT_SYMBOL_NS_GPL(usb_stor_resume, USB_STORAGE); int usb_stor_reset_resume(struct usb_interface *iface) { @@ -213,7 +213,7 @@ int usb_stor_reset_resume(struct usb_interface *iface) */ return 0; } -EXPORT_SYMBOL_GPL(usb_stor_reset_resume); +EXPORT_SYMBOL_NS_GPL(usb_stor_reset_resume, USB_STORAGE); #endif /* CONFIG_PM */ @@ -230,7 +230,7 @@ int usb_stor_pre_reset(struct usb_interface *iface) mutex_lock(&us->dev_mutex); return 0; } -EXPORT_SYMBOL_GPL(usb_stor_pre_reset); +EXPORT_SYMBOL_NS_GPL(usb_stor_pre_reset, USB_STORAGE); int usb_stor_post_reset(struct usb_interface *iface) { @@ -247,7 +247,7 @@ int usb_stor_post_reset(struct usb_interface *iface) mutex_unlock(&us->dev_mutex); return 0; } -EXPORT_SYMBOL_GPL(usb_stor_post_reset); +EXPORT_SYMBOL_NS_GPL(usb_stor_post_reset, USB_STORAGE); /* * fill_inquiry_response takes an unsigned char array (which must @@ -293,7 +293,7 @@ void fill_inquiry_response(struct us_data *us, unsigned char *data, usb_stor_set_xfer_buf(data, data_len, us->srb); } -EXPORT_SYMBOL_GPL(fill_inquiry_response); +EXPORT_SYMBOL_NS_GPL(fill_inquiry_response, USB_STORAGE); static int usb_stor_control_thread(void * __us) { @@ -579,7 +579,7 @@ void usb_stor_adjust_quirks(struct usb_device *udev, unsigned long *fflags) } *fflags = (*fflags & ~mask) | f; } -EXPORT_SYMBOL_GPL(usb_stor_adjust_quirks); +EXPORT_SYMBOL_NS_GPL(usb_stor_adjust_quirks, USB_STORAGE); /* Get the unusual_devs entries and the string descriptors */ static int get_device_info(struct us_data *us, const struct usb_device_id *id, @@ -990,7 +990,7 @@ int usb_stor_probe1(struct us_data **pus, release_everything(us); return result; } -EXPORT_SYMBOL_GPL(usb_stor_probe1); +EXPORT_SYMBOL_NS_GPL(usb_stor_probe1, USB_STORAGE); /* Second part of general USB mass-storage probing */ int usb_stor_probe2(struct us_data *us) @@ -1074,7 +1074,7 @@ int usb_stor_probe2(struct us_data *us) release_everything(us); return result; } -EXPORT_SYMBOL_GPL(usb_stor_probe2); +EXPORT_SYMBOL_NS_GPL(usb_stor_probe2, USB_STORAGE); /* Handle a USB mass-storage disconnect */ void usb_stor_disconnect(struct usb_interface *intf) @@ -1084,7 +1084,7 @@ void usb_stor_disconnect(struct usb_interface *intf) quiesce_and_remove_host(us); release_everything(us); } -EXPORT_SYMBOL_GPL(usb_stor_disconnect); +EXPORT_SYMBOL_NS_GPL(usb_stor_disconnect, USB_STORAGE); static struct scsi_host_template usb_stor_host_template; -- 2.18.0.203.gfac676dfb9-goog From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-f50.google.com ([209.85.208.50]:36535 "EHLO mail-ed1-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730869AbeGPMsy (ORCPT ); Mon, 16 Jul 2018 08:48:54 -0400 Received: by mail-ed1-f50.google.com with SMTP id t3-v6so29805090eds.3 for ; Mon, 16 Jul 2018 05:21:41 -0700 (PDT) From: Martijn Coenen Subject: [PATCH 6/6] RFC: USB: storage: move symbols into USB_STORAGE namespace. Date: Mon, 16 Jul 2018 14:21:25 +0200 Message-ID: <20180716122125.175792-7-maco@android.com> In-Reply-To: <20180716122125.175792-1-maco@android.com> References: <20180716122125.175792-1-maco@android.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-arch-owner@vger.kernel.org List-ID: To: linux-kernel@vger.kernel.org Cc: Martijn Coenen , Masahiro Yamada , Michal Marek , Geert Uytterhoeven , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, Alan Stern , Greg Kroah-Hartman , Oliver Neukum , Arnd Bergmann , Jessica Yu , Stephen Boyd , Philippe Ombredanne , Kate Stewart , Sam Ravnborg , linux-kbuild@vger.kernel.org, linux-m68k@lists.linux-m68k.org, linux-usb@vger.kernel.org, usb-storage@lists.one-eyed-alien.net, linux-scsi@vger.kernel.org, linux-arch@vger.kernel.org, maco@google.com, sspatil@google.com, malchev@google.com, joelaf@google.com Message-ID: <20180716122125.MO3ASmUsWiRVwxiWFFzDwT_e7GTnyEl5AOc0Uax_NP8@z> Modules using these symbols must now import this namesapce explicitly. Signed-off-by: Martijn Coenen --- drivers/usb/storage/alauda.c | 1 + drivers/usb/storage/cypress_atacb.c | 1 + drivers/usb/storage/datafab.c | 1 + drivers/usb/storage/ene_ub6250.c | 1 + drivers/usb/storage/freecom.c | 1 + drivers/usb/storage/isd200.c | 1 + drivers/usb/storage/jumpshot.c | 1 + drivers/usb/storage/karma.c | 1 + drivers/usb/storage/onetouch.c | 1 + drivers/usb/storage/realtek_cr.c | 1 + drivers/usb/storage/sddr09.c | 1 + drivers/usb/storage/sddr55.c | 1 + drivers/usb/storage/shuttle_usbat.c | 1 + drivers/usb/storage/uas.c | 1 + drivers/usb/storage/usb.c | 20 ++++++++++---------- 15 files changed, 24 insertions(+), 10 deletions(-) diff --git a/drivers/usb/storage/alauda.c b/drivers/usb/storage/alauda.c index 6b8edf6178df..ddab2cd3d2e7 100644 --- a/drivers/usb/storage/alauda.c +++ b/drivers/usb/storage/alauda.c @@ -36,6 +36,7 @@ MODULE_DESCRIPTION("Driver for Alauda-based card readers"); MODULE_AUTHOR("Daniel Drake "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); /* * Status bytes diff --git a/drivers/usb/storage/cypress_atacb.c b/drivers/usb/storage/cypress_atacb.c index 4825902377eb..a6f3267bbef6 100644 --- a/drivers/usb/storage/cypress_atacb.c +++ b/drivers/usb/storage/cypress_atacb.c @@ -22,6 +22,7 @@ MODULE_DESCRIPTION("SAT support for Cypress USB/ATA bridges with ATACB"); MODULE_AUTHOR("Matthieu Castet "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); /* * The table of devices diff --git a/drivers/usb/storage/datafab.c b/drivers/usb/storage/datafab.c index 09353be199be..588818483f4b 100644 --- a/drivers/usb/storage/datafab.c +++ b/drivers/usb/storage/datafab.c @@ -54,6 +54,7 @@ MODULE_DESCRIPTION("Driver for Datafab USB Compact Flash reader"); MODULE_AUTHOR("Jimmie Mayfield "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); struct datafab_info { unsigned long sectors; /* total sector count */ diff --git a/drivers/usb/storage/ene_ub6250.c b/drivers/usb/storage/ene_ub6250.c index 4d261e4de9ad..57e782a62acd 100644 --- a/drivers/usb/storage/ene_ub6250.c +++ b/drivers/usb/storage/ene_ub6250.c @@ -26,6 +26,7 @@ MODULE_DESCRIPTION("Driver for ENE UB6250 reader"); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); MODULE_FIRMWARE(SD_INIT1_FIRMWARE); MODULE_FIRMWARE(SD_INIT2_FIRMWARE); MODULE_FIRMWARE(SD_RW_FIRMWARE); diff --git a/drivers/usb/storage/freecom.c b/drivers/usb/storage/freecom.c index 4f542df37a44..34e7eaff1174 100644 --- a/drivers/usb/storage/freecom.c +++ b/drivers/usb/storage/freecom.c @@ -29,6 +29,7 @@ MODULE_DESCRIPTION("Driver for Freecom USB/IDE adaptor"); MODULE_AUTHOR("David Brown "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); #ifdef CONFIG_USB_STORAGE_DEBUG static void pdump(struct us_data *us, void *ibuffer, int length); diff --git a/drivers/usb/storage/isd200.c b/drivers/usb/storage/isd200.c index f5e4500d9970..7abb5687b2f6 100644 --- a/drivers/usb/storage/isd200.c +++ b/drivers/usb/storage/isd200.c @@ -53,6 +53,7 @@ MODULE_DESCRIPTION("Driver for In-System Design, Inc. ISD200 ASIC"); MODULE_AUTHOR("Björn Stenberg "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); static int isd200_Initialization(struct us_data *us); diff --git a/drivers/usb/storage/jumpshot.c b/drivers/usb/storage/jumpshot.c index 917f170c4124..229bf0c1afc9 100644 --- a/drivers/usb/storage/jumpshot.c +++ b/drivers/usb/storage/jumpshot.c @@ -51,6 +51,7 @@ MODULE_DESCRIPTION("Driver for Lexar \"Jumpshot\" Compact Flash reader"); MODULE_AUTHOR("Jimmie Mayfield "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); /* * The table of devices diff --git a/drivers/usb/storage/karma.c b/drivers/usb/storage/karma.c index edcf2be0e0eb..2b6e74afdcbd 100644 --- a/drivers/usb/storage/karma.c +++ b/drivers/usb/storage/karma.c @@ -23,6 +23,7 @@ MODULE_DESCRIPTION("Driver for Rio Karma"); MODULE_AUTHOR("Bob Copeland , Keith Bennett "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); #define RIO_PREFIX "RIOP\x00" #define RIO_PREFIX_LEN 5 diff --git a/drivers/usb/storage/onetouch.c b/drivers/usb/storage/onetouch.c index 39a5009a41a6..a989fe930e21 100644 --- a/drivers/usb/storage/onetouch.c +++ b/drivers/usb/storage/onetouch.c @@ -25,6 +25,7 @@ MODULE_DESCRIPTION("Maxtor USB OneTouch hard drive button driver"); MODULE_AUTHOR("Nick Sillik "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); #define ONETOUCH_PKT_LEN 0x02 #define ONETOUCH_BUTTON KEY_PROG1 diff --git a/drivers/usb/storage/realtek_cr.c b/drivers/usb/storage/realtek_cr.c index 31b024441938..96c45fee687a 100644 --- a/drivers/usb/storage/realtek_cr.c +++ b/drivers/usb/storage/realtek_cr.c @@ -35,6 +35,7 @@ MODULE_DESCRIPTION("Driver for Realtek USB Card Reader"); MODULE_AUTHOR("wwang "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); static int auto_delink_en = 1; module_param(auto_delink_en, int, S_IRUGO | S_IWUSR); diff --git a/drivers/usb/storage/sddr09.c b/drivers/usb/storage/sddr09.c index bc9da736bdfc..51bcd4a43690 100644 --- a/drivers/usb/storage/sddr09.c +++ b/drivers/usb/storage/sddr09.c @@ -47,6 +47,7 @@ MODULE_DESCRIPTION("Driver for SanDisk SDDR-09 SmartMedia reader"); MODULE_AUTHOR("Andries Brouwer , Robert Baruch "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); static int usb_stor_sddr09_dpcm_init(struct us_data *us); static int sddr09_transport(struct scsi_cmnd *srb, struct us_data *us); diff --git a/drivers/usb/storage/sddr55.c b/drivers/usb/storage/sddr55.c index b8527c55335b..ba955d65eb0e 100644 --- a/drivers/usb/storage/sddr55.c +++ b/drivers/usb/storage/sddr55.c @@ -29,6 +29,7 @@ MODULE_DESCRIPTION("Driver for SanDisk SDDR-55 SmartMedia reader"); MODULE_AUTHOR("Simon Munton"); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); /* * The table of devices diff --git a/drivers/usb/storage/shuttle_usbat.c b/drivers/usb/storage/shuttle_usbat.c index 854498e1012c..54aa1392c9ca 100644 --- a/drivers/usb/storage/shuttle_usbat.c +++ b/drivers/usb/storage/shuttle_usbat.c @@ -48,6 +48,7 @@ MODULE_DESCRIPTION("Driver for SCM Microsystems (a.k.a. Shuttle) USB-ATAPI cable"); MODULE_AUTHOR("Daniel Drake , Robert Baruch "); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); /* Supported device types */ #define USBAT_DEV_HP8200 0x01 diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c index 9e9de5452860..0a9b20478ee9 100644 --- a/drivers/usb/storage/uas.c +++ b/drivers/usb/storage/uas.c @@ -1195,5 +1195,6 @@ static struct usb_driver uas_driver = { module_usb_driver(uas_driver); MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS(USB_STORAGE); MODULE_AUTHOR( "Hans de Goede , Matthew Wilcox and Sarah Sharp"); diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c index 9a79cd9762f3..fd5adc4e95d8 100644 --- a/drivers/usb/storage/usb.c +++ b/drivers/usb/storage/usb.c @@ -184,7 +184,7 @@ int usb_stor_suspend(struct usb_interface *iface, pm_message_t message) mutex_unlock(&us->dev_mutex); return 0; } -EXPORT_SYMBOL_GPL(usb_stor_suspend); +EXPORT_SYMBOL_NS_GPL(usb_stor_suspend, USB_STORAGE); int usb_stor_resume(struct usb_interface *iface) { @@ -198,7 +198,7 @@ int usb_stor_resume(struct usb_interface *iface) mutex_unlock(&us->dev_mutex); return 0; } -EXPORT_SYMBOL_GPL(usb_stor_resume); +EXPORT_SYMBOL_NS_GPL(usb_stor_resume, USB_STORAGE); int usb_stor_reset_resume(struct usb_interface *iface) { @@ -213,7 +213,7 @@ int usb_stor_reset_resume(struct usb_interface *iface) */ return 0; } -EXPORT_SYMBOL_GPL(usb_stor_reset_resume); +EXPORT_SYMBOL_NS_GPL(usb_stor_reset_resume, USB_STORAGE); #endif /* CONFIG_PM */ @@ -230,7 +230,7 @@ int usb_stor_pre_reset(struct usb_interface *iface) mutex_lock(&us->dev_mutex); return 0; } -EXPORT_SYMBOL_GPL(usb_stor_pre_reset); +EXPORT_SYMBOL_NS_GPL(usb_stor_pre_reset, USB_STORAGE); int usb_stor_post_reset(struct usb_interface *iface) { @@ -247,7 +247,7 @@ int usb_stor_post_reset(struct usb_interface *iface) mutex_unlock(&us->dev_mutex); return 0; } -EXPORT_SYMBOL_GPL(usb_stor_post_reset); +EXPORT_SYMBOL_NS_GPL(usb_stor_post_reset, USB_STORAGE); /* * fill_inquiry_response takes an unsigned char array (which must @@ -293,7 +293,7 @@ void fill_inquiry_response(struct us_data *us, unsigned char *data, usb_stor_set_xfer_buf(data, data_len, us->srb); } -EXPORT_SYMBOL_GPL(fill_inquiry_response); +EXPORT_SYMBOL_NS_GPL(fill_inquiry_response, USB_STORAGE); static int usb_stor_control_thread(void * __us) { @@ -579,7 +579,7 @@ void usb_stor_adjust_quirks(struct usb_device *udev, unsigned long *fflags) } *fflags = (*fflags & ~mask) | f; } -EXPORT_SYMBOL_GPL(usb_stor_adjust_quirks); +EXPORT_SYMBOL_NS_GPL(usb_stor_adjust_quirks, USB_STORAGE); /* Get the unusual_devs entries and the string descriptors */ static int get_device_info(struct us_data *us, const struct usb_device_id *id, @@ -990,7 +990,7 @@ int usb_stor_probe1(struct us_data **pus, release_everything(us); return result; } -EXPORT_SYMBOL_GPL(usb_stor_probe1); +EXPORT_SYMBOL_NS_GPL(usb_stor_probe1, USB_STORAGE); /* Second part of general USB mass-storage probing */ int usb_stor_probe2(struct us_data *us) @@ -1074,7 +1074,7 @@ int usb_stor_probe2(struct us_data *us) release_everything(us); return result; } -EXPORT_SYMBOL_GPL(usb_stor_probe2); +EXPORT_SYMBOL_NS_GPL(usb_stor_probe2, USB_STORAGE); /* Handle a USB mass-storage disconnect */ void usb_stor_disconnect(struct usb_interface *intf) @@ -1084,7 +1084,7 @@ void usb_stor_disconnect(struct usb_interface *intf) quiesce_and_remove_host(us); release_everything(us); } -EXPORT_SYMBOL_GPL(usb_stor_disconnect); +EXPORT_SYMBOL_NS_GPL(usb_stor_disconnect, USB_STORAGE); static struct scsi_host_template usb_stor_host_template; -- 2.18.0.203.gfac676dfb9-goog From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [6/6] RFC: USB: storage: move symbols into USB_STORAGE namespace. From: Martijn Coenen Message-Id: <20180716122125.175792-7-maco@android.com> Date: Mon, 16 Jul 2018 14:21:25 +0200 To: linux-kernel@vger.kernel.org Cc: Martijn Coenen , Masahiro Yamada , Michal Marek , Geert Uytterhoeven , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, Alan Stern , Greg Kroah-Hartman , Oliver Neukum , Arnd Bergmann , Jessica Yu , Stephen Boyd , Philippe Ombredanne , Kate Stewart , Sam Ravnborg , linux-kbuild@vger.kernel.org, linux-m68k@lists.linux-m68k.org, linux-usb@vger.kernel.org, usb-storage@lists.one-eyed-alien.net, linux-scsi@vger.kernel.org, linux-arch@vger.kernel.org, maco@google.com, sspatil@google.com, malchev@google.com, joelaf@google.com List-ID: TW9kdWxlcyB1c2luZyB0aGVzZSBzeW1ib2xzIG11c3Qgbm93IGltcG9ydCB0aGlzIG5hbWVzYXBj ZSBleHBsaWNpdGx5LgoKU2lnbmVkLW9mZi1ieTogTWFydGlqbiBDb2VuZW4gPG1hY29AYW5kcm9p ZC5jb20+Ci0tLQogZHJpdmVycy91c2Ivc3RvcmFnZS9hbGF1ZGEuYyAgICAgICAgfCAgMSArCiBk cml2ZXJzL3VzYi9zdG9yYWdlL2N5cHJlc3NfYXRhY2IuYyB8ICAxICsKIGRyaXZlcnMvdXNiL3N0 b3JhZ2UvZGF0YWZhYi5jICAgICAgIHwgIDEgKwogZHJpdmVycy91c2Ivc3RvcmFnZS9lbmVfdWI2 MjUwLmMgICAgfCAgMSArCiBkcml2ZXJzL3VzYi9zdG9yYWdlL2ZyZWVjb20uYyAgICAgICB8ICAx ICsKIGRyaXZlcnMvdXNiL3N0b3JhZ2UvaXNkMjAwLmMgICAgICAgIHwgIDEgKwogZHJpdmVycy91 c2Ivc3RvcmFnZS9qdW1wc2hvdC5jICAgICAgfCAgMSArCiBkcml2ZXJzL3VzYi9zdG9yYWdlL2th cm1hLmMgICAgICAgICB8ICAxICsKIGRyaXZlcnMvdXNiL3N0b3JhZ2Uvb25ldG91Y2guYyAgICAg IHwgIDEgKwogZHJpdmVycy91c2Ivc3RvcmFnZS9yZWFsdGVrX2NyLmMgICAgfCAgMSArCiBkcml2 ZXJzL3VzYi9zdG9yYWdlL3NkZHIwOS5jICAgICAgICB8ICAxICsKIGRyaXZlcnMvdXNiL3N0b3Jh Z2Uvc2RkcjU1LmMgICAgICAgIHwgIDEgKwogZHJpdmVycy91c2Ivc3RvcmFnZS9zaHV0dGxlX3Vz YmF0LmMgfCAgMSArCiBkcml2ZXJzL3VzYi9zdG9yYWdlL3Vhcy5jICAgICAgICAgICB8ICAxICsK IGRyaXZlcnMvdXNiL3N0b3JhZ2UvdXNiLmMgICAgICAgICAgIHwgMjAgKysrKysrKysrKy0tLS0t LS0tLS0KIDE1IGZpbGVzIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3N0b3JhZ2UvYWxhdWRhLmMgYi9kcml2ZXJzL3Vz Yi9zdG9yYWdlL2FsYXVkYS5jCmluZGV4IDZiOGVkZjYxNzhkZi4uZGRhYjJjZDNkMmU3IDEwMDY0 NAotLS0gYS9kcml2ZXJzL3VzYi9zdG9yYWdlL2FsYXVkYS5jCisrKyBiL2RyaXZlcnMvdXNiL3N0 b3JhZ2UvYWxhdWRhLmMKQEAgLTM2LDYgKzM2LDcgQEAKIE1PRFVMRV9ERVNDUklQVElPTigiRHJp dmVyIGZvciBBbGF1ZGEtYmFzZWQgY2FyZCByZWFkZXJzIik7CiBNT0RVTEVfQVVUSE9SKCJEYW5p ZWwgRHJha2UgPGRzZEBnZW50b28ub3JnPiIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9E VUxFX0lNUE9SVF9OUyhVU0JfU1RPUkFHRSk7CiAKIC8qCiAgKiBTdGF0dXMgYnl0ZXMKZGlmZiAt LWdpdCBhL2RyaXZlcnMvdXNiL3N0b3JhZ2UvY3lwcmVzc19hdGFjYi5jIGIvZHJpdmVycy91c2Iv c3RvcmFnZS9jeXByZXNzX2F0YWNiLmMKaW5kZXggNDgyNTkwMjM3N2ViLi5hNmYzMjY3YmJlZjYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3N0b3JhZ2UvY3lwcmVzc19hdGFjYi5jCisrKyBiL2Ry aXZlcnMvdXNiL3N0b3JhZ2UvY3lwcmVzc19hdGFjYi5jCkBAIC0yMiw2ICsyMiw3IEBACiBNT0RV TEVfREVTQ1JJUFRJT04oIlNBVCBzdXBwb3J0IGZvciBDeXByZXNzIFVTQi9BVEEgYnJpZGdlcyB3 aXRoIEFUQUNCIik7CiBNT0RVTEVfQVVUSE9SKCJNYXR0aGlldSBDYXN0ZXQgPGNhc3RldC5tYXR0 aGlldUBmcmVlLmZyPiIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0lNUE9SVF9O UyhVU0JfU1RPUkFHRSk7CiAKIC8qCiAgKiBUaGUgdGFibGUgb2YgZGV2aWNlcwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy91c2Ivc3RvcmFnZS9kYXRhZmFiLmMgYi9kcml2ZXJzL3VzYi9zdG9yYWdlL2Rh dGFmYWIuYwppbmRleCAwOTM1M2JlMTk5YmUuLjU4ODgxODQ4M2Y0YiAxMDA2NDQKLS0tIGEvZHJp dmVycy91c2Ivc3RvcmFnZS9kYXRhZmFiLmMKKysrIGIvZHJpdmVycy91c2Ivc3RvcmFnZS9kYXRh ZmFiLmMKQEAgLTU0LDYgKzU0LDcgQEAKIE1PRFVMRV9ERVNDUklQVElPTigiRHJpdmVyIGZvciBE YXRhZmFiIFVTQiBDb21wYWN0IEZsYXNoIHJlYWRlciIpOwogTU9EVUxFX0FVVEhPUigiSmltbWll IE1heWZpZWxkIDxtYXlmaWVsZCtkYXRhZmFiQHNhY2toZWFkcy5vcmc+Iik7CiBNT0RVTEVfTElD RU5TRSgiR1BMIik7CitNT0RVTEVfSU1QT1JUX05TKFVTQl9TVE9SQUdFKTsKIAogc3RydWN0IGRh dGFmYWJfaW5mbyB7CiAJdW5zaWduZWQgbG9uZyAgIHNlY3RvcnM7CS8qIHRvdGFsIHNlY3RvciBj b3VudCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc3RvcmFnZS9lbmVfdWI2MjUwLmMgYi9k cml2ZXJzL3VzYi9zdG9yYWdlL2VuZV91YjYyNTAuYwppbmRleCA0ZDI2MWU0ZGU5YWQuLjU3ZTc4 MmE2MmFjZCAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc3RvcmFnZS9lbmVfdWI2MjUwLmMKKysr IGIvZHJpdmVycy91c2Ivc3RvcmFnZS9lbmVfdWI2MjUwLmMKQEAgLTI2LDYgKzI2LDcgQEAKIAog TU9EVUxFX0RFU0NSSVBUSU9OKCJEcml2ZXIgZm9yIEVORSBVQjYyNTAgcmVhZGVyIik7CiBNT0RV TEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfSU1QT1JUX05TKFVTQl9TVE9SQUdFKTsKIE1PRFVM RV9GSVJNV0FSRShTRF9JTklUMV9GSVJNV0FSRSk7CiBNT0RVTEVfRklSTVdBUkUoU0RfSU5JVDJf RklSTVdBUkUpOwogTU9EVUxFX0ZJUk1XQVJFKFNEX1JXX0ZJUk1XQVJFKTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvdXNiL3N0b3JhZ2UvZnJlZWNvbS5jIGIvZHJpdmVycy91c2Ivc3RvcmFnZS9mcmVl Y29tLmMKaW5kZXggNGY1NDJkZjM3YTQ0Li4zNGU3ZWFmZjExNzQgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvdXNiL3N0b3JhZ2UvZnJlZWNvbS5jCisrKyBiL2RyaXZlcnMvdXNiL3N0b3JhZ2UvZnJlZWNv bS5jCkBAIC0yOSw2ICsyOSw3IEBACiBNT0RVTEVfREVTQ1JJUFRJT04oIkRyaXZlciBmb3IgRnJl ZWNvbSBVU0IvSURFIGFkYXB0b3IiKTsKIE1PRFVMRV9BVVRIT1IoIkRhdmlkIEJyb3duIDx1c2It c3RvcmFnZUBkYXZpZGIub3JnPiIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0lN UE9SVF9OUyhVU0JfU1RPUkFHRSk7CiAKICNpZmRlZiBDT05GSUdfVVNCX1NUT1JBR0VfREVCVUcK IHN0YXRpYyB2b2lkIHBkdW1wKHN0cnVjdCB1c19kYXRhICp1cywgdm9pZCAqaWJ1ZmZlciwgaW50 IGxlbmd0aCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zdG9yYWdlL2lzZDIwMC5jIGIvZHJp dmVycy91c2Ivc3RvcmFnZS9pc2QyMDAuYwppbmRleCBmNWU0NTAwZDk5NzAuLjdhYmI1Njg3YjJm NiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc3RvcmFnZS9pc2QyMDAuYworKysgYi9kcml2ZXJz L3VzYi9zdG9yYWdlL2lzZDIwMC5jCkBAIC01Myw2ICs1Myw3IEBACiBNT0RVTEVfREVTQ1JJUFRJ T04oIkRyaXZlciBmb3IgSW4tU3lzdGVtIERlc2lnbiwgSW5jLiBJU0QyMDAgQVNJQyIpOwogTU9E VUxFX0FVVEhPUigiQmrDtnJuIFN0ZW5iZXJnIDxiam9ybkBoYXh4LnNlPiIpOwogTU9EVUxFX0xJ Q0VOU0UoIkdQTCIpOworTU9EVUxFX0lNUE9SVF9OUyhVU0JfU1RPUkFHRSk7CiAKIHN0YXRpYyBp bnQgaXNkMjAwX0luaXRpYWxpemF0aW9uKHN0cnVjdCB1c19kYXRhICp1cyk7CiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvdXNiL3N0b3JhZ2UvanVtcHNob3QuYyBiL2RyaXZlcnMvdXNiL3N0b3JhZ2Uv anVtcHNob3QuYwppbmRleCA5MTdmMTcwYzQxMjQuLjIyOWJmMGMxYWZjOSAxMDA2NDQKLS0tIGEv ZHJpdmVycy91c2Ivc3RvcmFnZS9qdW1wc2hvdC5jCisrKyBiL2RyaXZlcnMvdXNiL3N0b3JhZ2Uv anVtcHNob3QuYwpAQCAtNTEsNiArNTEsNyBAQAogTU9EVUxFX0RFU0NSSVBUSU9OKCJEcml2ZXIg Zm9yIExleGFyIFwiSnVtcHNob3RcIiBDb21wYWN0IEZsYXNoIHJlYWRlciIpOwogTU9EVUxFX0FV VEhPUigiSmltbWllIE1heWZpZWxkIDxtYXlmaWVsZCt1c2JAc2Fja2hlYWRzLm9yZz4iKTsKIE1P RFVMRV9MSUNFTlNFKCJHUEwiKTsKK01PRFVMRV9JTVBPUlRfTlMoVVNCX1NUT1JBR0UpOwogCiAv KgogICogVGhlIHRhYmxlIG9mIGRldmljZXMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3N0b3Jh Z2Uva2FybWEuYyBiL2RyaXZlcnMvdXNiL3N0b3JhZ2Uva2FybWEuYwppbmRleCBlZGNmMmJlMGUw ZWIuLjJiNmU3NGFmZGNiZCAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc3RvcmFnZS9rYXJtYS5j CisrKyBiL2RyaXZlcnMvdXNiL3N0b3JhZ2Uva2FybWEuYwpAQCAtMjMsNiArMjMsNyBAQAogTU9E VUxFX0RFU0NSSVBUSU9OKCJEcml2ZXIgZm9yIFJpbyBLYXJtYSIpOwogTU9EVUxFX0FVVEhPUigi Qm9iIENvcGVsYW5kIDxtZUBib2Jjb3BlbGFuZC5jb20+LCBLZWl0aCBCZW5uZXR0IDxrZWl0aEBt Y3Muc3QtYW5kLmFjLnVrPiIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0lNUE9S VF9OUyhVU0JfU1RPUkFHRSk7CiAKICNkZWZpbmUgUklPX1BSRUZJWCAiUklPUFx4MDAiCiAjZGVm aW5lIFJJT19QUkVGSVhfTEVOIDUKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3N0b3JhZ2Uvb25l dG91Y2guYyBiL2RyaXZlcnMvdXNiL3N0b3JhZ2Uvb25ldG91Y2guYwppbmRleCAzOWE1MDA5YTQx YTYuLmE5ODlmZTkzMGUyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc3RvcmFnZS9vbmV0b3Vj aC5jCisrKyBiL2RyaXZlcnMvdXNiL3N0b3JhZ2Uvb25ldG91Y2guYwpAQCAtMjUsNiArMjUsNyBA QAogTU9EVUxFX0RFU0NSSVBUSU9OKCJNYXh0b3IgVVNCIE9uZVRvdWNoIGhhcmQgZHJpdmUgYnV0 dG9uIGRyaXZlciIpOwogTU9EVUxFX0FVVEhPUigiTmljayBTaWxsaWsgPG4uc2lsbGlrQHRlbXBs ZS5lZHU+Iik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfSU1QT1JUX05TKFVTQl9T VE9SQUdFKTsKIAogI2RlZmluZSBPTkVUT1VDSF9QS1RfTEVOICAgICAgICAweDAyCiAjZGVmaW5l IE9ORVRPVUNIX0JVVFRPTiAgICAgICAgIEtFWV9QUk9HMQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91 c2Ivc3RvcmFnZS9yZWFsdGVrX2NyLmMgYi9kcml2ZXJzL3VzYi9zdG9yYWdlL3JlYWx0ZWtfY3Iu YwppbmRleCAzMWIwMjQ0NDE5MzguLjk2YzQ1ZmVlNjg3YSAxMDA2NDQKLS0tIGEvZHJpdmVycy91 c2Ivc3RvcmFnZS9yZWFsdGVrX2NyLmMKKysrIGIvZHJpdmVycy91c2Ivc3RvcmFnZS9yZWFsdGVr X2NyLmMKQEAgLTM1LDYgKzM1LDcgQEAKIE1PRFVMRV9ERVNDUklQVElPTigiRHJpdmVyIGZvciBS ZWFsdGVrIFVTQiBDYXJkIFJlYWRlciIpOwogTU9EVUxFX0FVVEhPUigid3dhbmcgPHdlaV93YW5n QHJlYWxzaWwuY29tLmNuPiIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0lNUE9S VF9OUyhVU0JfU1RPUkFHRSk7CiAKIHN0YXRpYyBpbnQgYXV0b19kZWxpbmtfZW4gPSAxOwogbW9k dWxlX3BhcmFtKGF1dG9fZGVsaW5rX2VuLCBpbnQsIFNfSVJVR08gfCBTX0lXVVNSKTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvdXNiL3N0b3JhZ2Uvc2RkcjA5LmMgYi9kcml2ZXJzL3VzYi9zdG9yYWdl L3NkZHIwOS5jCmluZGV4IGJjOWRhNzM2YmRmYy4uNTFiY2Q0YTQzNjkwIDEwMDY0NAotLS0gYS9k cml2ZXJzL3VzYi9zdG9yYWdlL3NkZHIwOS5jCisrKyBiL2RyaXZlcnMvdXNiL3N0b3JhZ2Uvc2Rk cjA5LmMKQEAgLTQ3LDYgKzQ3LDcgQEAKIE1PRFVMRV9ERVNDUklQVElPTigiRHJpdmVyIGZvciBT YW5EaXNrIFNERFItMDkgU21hcnRNZWRpYSByZWFkZXIiKTsKIE1PRFVMRV9BVVRIT1IoIkFuZHJp ZXMgQnJvdXdlciA8YWViQGN3aS5ubD4sIFJvYmVydCBCYXJ1Y2ggPGF1dG9waGlsZUBzdGFyYmFu ZC5uZXQ+Iik7CiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfSU1QT1JUX05TKFVTQl9T VE9SQUdFKTsKIAogc3RhdGljIGludCB1c2Jfc3Rvcl9zZGRyMDlfZHBjbV9pbml0KHN0cnVjdCB1 c19kYXRhICp1cyk7CiBzdGF0aWMgaW50IHNkZHIwOV90cmFuc3BvcnQoc3RydWN0IHNjc2lfY21u ZCAqc3JiLCBzdHJ1Y3QgdXNfZGF0YSAqdXMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc3Rv cmFnZS9zZGRyNTUuYyBiL2RyaXZlcnMvdXNiL3N0b3JhZ2Uvc2RkcjU1LmMKaW5kZXggYjg1Mjdj NTUzMzViLi5iYTk1NWQ2NWViMGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3N0b3JhZ2Uvc2Rk cjU1LmMKKysrIGIvZHJpdmVycy91c2Ivc3RvcmFnZS9zZGRyNTUuYwpAQCAtMjksNiArMjksNyBA QAogTU9EVUxFX0RFU0NSSVBUSU9OKCJEcml2ZXIgZm9yIFNhbkRpc2sgU0REUi01NSBTbWFydE1l ZGlhIHJlYWRlciIpOwogTU9EVUxFX0FVVEhPUigiU2ltb24gTXVudG9uIik7CiBNT0RVTEVfTElD RU5TRSgiR1BMIik7CitNT0RVTEVfSU1QT1JUX05TKFVTQl9TVE9SQUdFKTsKIAogLyoKICAqIFRo ZSB0YWJsZSBvZiBkZXZpY2VzCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zdG9yYWdlL3NodXR0 bGVfdXNiYXQuYyBiL2RyaXZlcnMvdXNiL3N0b3JhZ2Uvc2h1dHRsZV91c2JhdC5jCmluZGV4IDg1 NDQ5OGUxMDEyYy4uNTRhYTEzOTJjOWNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9zdG9yYWdl L3NodXR0bGVfdXNiYXQuYworKysgYi9kcml2ZXJzL3VzYi9zdG9yYWdlL3NodXR0bGVfdXNiYXQu YwpAQCAtNDgsNiArNDgsNyBAQAogTU9EVUxFX0RFU0NSSVBUSU9OKCJEcml2ZXIgZm9yIFNDTSBN aWNyb3N5c3RlbXMgKGEuay5hLiBTaHV0dGxlKSBVU0ItQVRBUEkgY2FibGUiKTsKIE1PRFVMRV9B VVRIT1IoIkRhbmllbCBEcmFrZSA8ZHNkQGdlbnRvby5vcmc+LCBSb2JlcnQgQmFydWNoIDxhdXRv cGhpbGVAc3RhcmJhbmQubmV0PiIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOworTU9EVUxFX0lN UE9SVF9OUyhVU0JfU1RPUkFHRSk7CiAKIC8qIFN1cHBvcnRlZCBkZXZpY2UgdHlwZXMgKi8KICNk ZWZpbmUgVVNCQVRfREVWX0hQODIwMAkweDAxCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zdG9y YWdlL3Vhcy5jIGIvZHJpdmVycy91c2Ivc3RvcmFnZS91YXMuYwppbmRleCA5ZTlkZTU0NTI4NjAu LjBhOWIyMDQ3OGVlOSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc3RvcmFnZS91YXMuYworKysg Yi9kcml2ZXJzL3VzYi9zdG9yYWdlL3Vhcy5jCkBAIC0xMTk1LDUgKzExOTUsNiBAQCBzdGF0aWMg c3RydWN0IHVzYl9kcml2ZXIgdWFzX2RyaXZlciA9IHsKIG1vZHVsZV91c2JfZHJpdmVyKHVhc19k cml2ZXIpOwogCiBNT0RVTEVfTElDRU5TRSgiR1BMIik7CitNT0RVTEVfSU1QT1JUX05TKFVTQl9T VE9SQUdFKTsKIE1PRFVMRV9BVVRIT1IoCiAJIkhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhh dC5jb20+LCBNYXR0aGV3IFdpbGNveCBhbmQgU2FyYWggU2hhcnAiKTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdXNiL3N0b3JhZ2UvdXNiLmMgYi9kcml2ZXJzL3VzYi9zdG9yYWdlL3VzYi5jCmluZGV4 IDlhNzljZDk3NjJmMy4uZmQ1YWRjNGU5NWQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9zdG9y YWdlL3VzYi5jCisrKyBiL2RyaXZlcnMvdXNiL3N0b3JhZ2UvdXNiLmMKQEAgLTE4NCw3ICsxODQs NyBAQCBpbnQgdXNiX3N0b3Jfc3VzcGVuZChzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaWZhY2UsIHBt X21lc3NhZ2VfdCBtZXNzYWdlKQogCW11dGV4X3VubG9jaygmdXMtPmRldl9tdXRleCk7CiAJcmV0 dXJuIDA7CiB9Ci1FWFBPUlRfU1lNQk9MX0dQTCh1c2Jfc3Rvcl9zdXNwZW5kKTsKK0VYUE9SVF9T WU1CT0xfTlNfR1BMKHVzYl9zdG9yX3N1c3BlbmQsIFVTQl9TVE9SQUdFKTsKIAogaW50IHVzYl9z dG9yX3Jlc3VtZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaWZhY2UpCiB7CkBAIC0xOTgsNyArMTk4 LDcgQEAgaW50IHVzYl9zdG9yX3Jlc3VtZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaWZhY2UpCiAJ bXV0ZXhfdW5sb2NrKCZ1cy0+ZGV2X211dGV4KTsKIAlyZXR1cm4gMDsKIH0KLUVYUE9SVF9TWU1C T0xfR1BMKHVzYl9zdG9yX3Jlc3VtZSk7CitFWFBPUlRfU1lNQk9MX05TX0dQTCh1c2Jfc3Rvcl9y ZXN1bWUsIFVTQl9TVE9SQUdFKTsKIAogaW50IHVzYl9zdG9yX3Jlc2V0X3Jlc3VtZShzdHJ1Y3Qg dXNiX2ludGVyZmFjZSAqaWZhY2UpCiB7CkBAIC0yMTMsNyArMjEzLDcgQEAgaW50IHVzYl9zdG9y X3Jlc2V0X3Jlc3VtZShzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaWZhY2UpCiAJICovCiAJcmV0dXJu IDA7CiB9Ci1FWFBPUlRfU1lNQk9MX0dQTCh1c2Jfc3Rvcl9yZXNldF9yZXN1bWUpOworRVhQT1JU X1NZTUJPTF9OU19HUEwodXNiX3N0b3JfcmVzZXRfcmVzdW1lLCBVU0JfU1RPUkFHRSk7CiAKICNl bmRpZiAvKiBDT05GSUdfUE0gKi8KIApAQCAtMjMwLDcgKzIzMCw3IEBAIGludCB1c2Jfc3Rvcl9w cmVfcmVzZXQoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmlmYWNlKQogCW11dGV4X2xvY2soJnVzLT5k ZXZfbXV0ZXgpOwogCXJldHVybiAwOwogfQotRVhQT1JUX1NZTUJPTF9HUEwodXNiX3N0b3JfcHJl X3Jlc2V0KTsKK0VYUE9SVF9TWU1CT0xfTlNfR1BMKHVzYl9zdG9yX3ByZV9yZXNldCwgVVNCX1NU T1JBR0UpOwogCiBpbnQgdXNiX3N0b3JfcG9zdF9yZXNldChzdHJ1Y3QgdXNiX2ludGVyZmFjZSAq aWZhY2UpCiB7CkBAIC0yNDcsNyArMjQ3LDcgQEAgaW50IHVzYl9zdG9yX3Bvc3RfcmVzZXQoc3Ry dWN0IHVzYl9pbnRlcmZhY2UgKmlmYWNlKQogCW11dGV4X3VubG9jaygmdXMtPmRldl9tdXRleCk7 CiAJcmV0dXJuIDA7CiB9Ci1FWFBPUlRfU1lNQk9MX0dQTCh1c2Jfc3Rvcl9wb3N0X3Jlc2V0KTsK K0VYUE9SVF9TWU1CT0xfTlNfR1BMKHVzYl9zdG9yX3Bvc3RfcmVzZXQsIFVTQl9TVE9SQUdFKTsK IAogLyoKICAqIGZpbGxfaW5xdWlyeV9yZXNwb25zZSB0YWtlcyBhbiB1bnNpZ25lZCBjaGFyIGFy cmF5ICh3aGljaCBtdXN0CkBAIC0yOTMsNyArMjkzLDcgQEAgdm9pZCBmaWxsX2lucXVpcnlfcmVz cG9uc2Uoc3RydWN0IHVzX2RhdGEgKnVzLCB1bnNpZ25lZCBjaGFyICpkYXRhLAogCiAJdXNiX3N0 b3Jfc2V0X3hmZXJfYnVmKGRhdGEsIGRhdGFfbGVuLCB1cy0+c3JiKTsKIH0KLUVYUE9SVF9TWU1C T0xfR1BMKGZpbGxfaW5xdWlyeV9yZXNwb25zZSk7CitFWFBPUlRfU1lNQk9MX05TX0dQTChmaWxs X2lucXVpcnlfcmVzcG9uc2UsIFVTQl9TVE9SQUdFKTsKIAogc3RhdGljIGludCB1c2Jfc3Rvcl9j b250cm9sX3RocmVhZCh2b2lkICogX191cykKIHsKQEAgLTU3OSw3ICs1NzksNyBAQCB2b2lkIHVz Yl9zdG9yX2FkanVzdF9xdWlya3Moc3RydWN0IHVzYl9kZXZpY2UgKnVkZXYsIHVuc2lnbmVkIGxv bmcgKmZmbGFncykKIAl9CiAJKmZmbGFncyA9ICgqZmZsYWdzICYgfm1hc2spIHwgZjsKIH0KLUVY UE9SVF9TWU1CT0xfR1BMKHVzYl9zdG9yX2FkanVzdF9xdWlya3MpOworRVhQT1JUX1NZTUJPTF9O U19HUEwodXNiX3N0b3JfYWRqdXN0X3F1aXJrcywgVVNCX1NUT1JBR0UpOwogCiAvKiBHZXQgdGhl IHVudXN1YWxfZGV2cyBlbnRyaWVzIGFuZCB0aGUgc3RyaW5nIGRlc2NyaXB0b3JzICovCiBzdGF0 aWMgaW50IGdldF9kZXZpY2VfaW5mbyhzdHJ1Y3QgdXNfZGF0YSAqdXMsIGNvbnN0IHN0cnVjdCB1 c2JfZGV2aWNlX2lkICppZCwKQEAgLTk5MCw3ICs5OTAsNyBAQCBpbnQgdXNiX3N0b3JfcHJvYmUx KHN0cnVjdCB1c19kYXRhICoqcHVzLAogCXJlbGVhc2VfZXZlcnl0aGluZyh1cyk7CiAJcmV0dXJu IHJlc3VsdDsKIH0KLUVYUE9SVF9TWU1CT0xfR1BMKHVzYl9zdG9yX3Byb2JlMSk7CitFWFBPUlRf U1lNQk9MX05TX0dQTCh1c2Jfc3Rvcl9wcm9iZTEsIFVTQl9TVE9SQUdFKTsKIAogLyogU2Vjb25k IHBhcnQgb2YgZ2VuZXJhbCBVU0IgbWFzcy1zdG9yYWdlIHByb2JpbmcgKi8KIGludCB1c2Jfc3Rv cl9wcm9iZTIoc3RydWN0IHVzX2RhdGEgKnVzKQpAQCAtMTA3NCw3ICsxMDc0LDcgQEAgaW50IHVz Yl9zdG9yX3Byb2JlMihzdHJ1Y3QgdXNfZGF0YSAqdXMpCiAJcmVsZWFzZV9ldmVyeXRoaW5nKHVz KTsKIAlyZXR1cm4gcmVzdWx0OwogfQotRVhQT1JUX1NZTUJPTF9HUEwodXNiX3N0b3JfcHJvYmUy KTsKK0VYUE9SVF9TWU1CT0xfTlNfR1BMKHVzYl9zdG9yX3Byb2JlMiwgVVNCX1NUT1JBR0UpOwog CiAvKiBIYW5kbGUgYSBVU0IgbWFzcy1zdG9yYWdlIGRpc2Nvbm5lY3QgKi8KIHZvaWQgdXNiX3N0 b3JfZGlzY29ubmVjdChzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50ZikKQEAgLTEwODQsNyArMTA4 NCw3IEBAIHZvaWQgdXNiX3N0b3JfZGlzY29ubmVjdChzdHJ1Y3QgdXNiX2ludGVyZmFjZSAqaW50 ZikKIAlxdWllc2NlX2FuZF9yZW1vdmVfaG9zdCh1cyk7CiAJcmVsZWFzZV9ldmVyeXRoaW5nKHVz KTsKIH0KLUVYUE9SVF9TWU1CT0xfR1BMKHVzYl9zdG9yX2Rpc2Nvbm5lY3QpOworRVhQT1JUX1NZ TUJPTF9OU19HUEwodXNiX3N0b3JfZGlzY29ubmVjdCwgVVNCX1NUT1JBR0UpOwogCiBzdGF0aWMg c3RydWN0IHNjc2lfaG9zdF90ZW1wbGF0ZSB1c2Jfc3Rvcl9ob3N0X3RlbXBsYXRlOwogCg==