On Mon, Jun 08 2015, Sanjay Singh Rawat wrote:
> struct fsg_common is used in multiple files, moving it to header
> file from the source file.

Isn’t this patch a prerequisit for the previous patch?  Just merge them
together.

> Signed-off-by: Sanjay Singh Rawat <snjs...@gmail.com>
> ---
>  drivers/usb/gadget/function/f_mass_storage.c | 70 
> ----------------------------
>  drivers/usb/gadget/function/f_mass_storage.h | 68 ++++++++++++++++++++++++++-
>  2 files changed, 67 insertions(+), 71 deletions(-)
>
> diff --git a/drivers/usb/gadget/function/f_mass_storage.c 
> b/drivers/usb/gadget/function/f_mass_storage.c
> index a996f3f..560e73d 100644
> --- a/drivers/usb/gadget/function/f_mass_storage.c
> +++ b/drivers/usb/gadget/function/f_mass_storage.c
> @@ -251,76 +251,6 @@ static struct usb_gadget_strings *fsg_strings_array[] = {
>  
>  /*-------------------------------------------------------------------------*/
>  
> -struct fsg_dev;
> -struct fsg_common;
> -
> -/* Data shared by all the FSG instances. */
> -struct fsg_common {
> -     struct usb_gadget       *gadget;
> -     struct usb_composite_dev *cdev;
> -     struct fsg_dev          *fsg, *new_fsg;
> -     wait_queue_head_t       fsg_wait;
> -
> -     /* filesem protects: backing files in use */
> -     struct rw_semaphore     filesem;
> -
> -     /* lock protects: state, all the req_busy's */
> -     spinlock_t              lock;
> -
> -     struct usb_ep           *ep0;           /* Copy of gadget->ep0 */
> -     struct usb_request      *ep0req;        /* Copy of cdev->req */
> -     unsigned int            ep0_req_tag;
> -
> -     struct fsg_buffhd       *next_buffhd_to_fill;
> -     struct fsg_buffhd       *next_buffhd_to_drain;
> -     struct fsg_buffhd       *buffhds;
> -     unsigned int            fsg_num_buffers;
> -
> -     int                     cmnd_size;
> -     u8                      cmnd[MAX_COMMAND_SIZE];
> -
> -     unsigned int            nluns;
> -     unsigned int            lun;
> -     struct fsg_lun          **luns;
> -     struct fsg_lun          *curlun;
> -
> -     unsigned int            bulk_out_maxpacket;
> -     enum fsg_state          state;          /* For exception handling */
> -     unsigned int            exception_req_tag;
> -
> -     enum data_direction     data_dir;
> -     u32                     data_size;
> -     u32                     data_size_from_cmnd;
> -     u32                     tag;
> -     u32                     residue;
> -     u32                     usb_amount_left;
> -
> -     unsigned int            can_stall:1;
> -     unsigned int            free_storage_on_release:1;
> -     unsigned int            phase_error:1;
> -     unsigned int            short_packet_received:1;
> -     unsigned int            bad_lun_okay:1;
> -     unsigned int            running:1;
> -     unsigned int            sysfs:1;
> -
> -     int                     thread_wakeup_needed;
> -     struct completion       thread_notifier;
> -     struct task_struct      *thread_task;
> -
> -     /* Callback functions. */
> -     const struct fsg_operations     *ops;
> -     /* Gadget's private data. */
> -     void                    *private_data;
> -
> -     /*
> -      * Vendor (8 chars), product (16 chars), release (4
> -      * hexadecimal digits) and NUL byte
> -      */
> -     char inquiry_string[8 + 16 + 4 + 1];
> -
> -     struct kref             ref;
> -};
> -
>  struct fsg_dev {
>       struct usb_function     function;
>       struct usb_gadget       *gadget;        /* Copy of cdev->gadget */
> diff --git a/drivers/usb/gadget/function/f_mass_storage.h 
> b/drivers/usb/gadget/function/f_mass_storage.h
> index b4866fc..c05fe16 100644
> --- a/drivers/usb/gadget/function/f_mass_storage.h
> +++ b/drivers/usb/gadget/function/f_mass_storage.h
> @@ -57,7 +57,73 @@ struct fsg_module_parameters {
>  
>  #endif
>  
> -struct fsg_common;
> +/* Data shared by all the FSG instances. */
> +struct fsg_common {
> +     struct usb_gadget       *gadget;
> +     struct usb_composite_dev *cdev;
> +     struct fsg_dev          *fsg, *new_fsg;
> +     wait_queue_head_t       fsg_wait;
> +
> +     /* filesem protects: backing files in use */
> +     struct rw_semaphore     filesem;
> +
> +     /* lock protects: state, all the req_busy's */
> +     spinlock_t              lock;
> +
> +     struct usb_ep           *ep0;           /* Copy of gadget->ep0 */
> +     struct usb_request      *ep0req;        /* Copy of cdev->req */
> +     unsigned int            ep0_req_tag;
> +
> +     struct fsg_buffhd       *next_buffhd_to_fill;
> +     struct fsg_buffhd       *next_buffhd_to_drain;
> +     struct fsg_buffhd       *buffhds;
> +     unsigned int            fsg_num_buffers;
> +
> +     int                     cmnd_size;
> +     u8                      cmnd[MAX_COMMAND_SIZE];
> +
> +     unsigned int            nluns;
> +     unsigned int            lun;
> +     struct fsg_lun          **luns;
> +     struct fsg_lun          *curlun;
> +
> +     unsigned int            bulk_out_maxpacket;
> +     enum fsg_state          state;          /* For exception handling */
> +     unsigned int            exception_req_tag;
> +
> +     enum data_direction     data_dir;
> +
> +     u32                     data_size;
> +     u32                     data_size_from_cmnd;
> +     u32                     tag;
> +     u32                     residue;
> +     u32                     usb_amount_left;
> +
> +     unsigned int            can_stall:1;
> +     unsigned int            free_storage_on_release:1;
> +     unsigned int            phase_error:1;
> +     unsigned int            short_packet_received:1;
> +     unsigned int            bad_lun_okay:1;
> +     unsigned int            running:1;
> +     unsigned int            sysfs:1;
> +
> +     int                     thread_wakeup_needed;
> +     struct completion       thread_notifier;
> +     struct task_struct      *thread_task;
> +
> +     /* Callback functions. */
> +     const struct fsg_operations     *ops;
> +     /* Gadget's private data. */
> +     void                    *private_data;
> +
> +     /*
> +     * Vendor (8 chars), product (16 chars), release (4
> +     * hexadecimal digits) and NUL byte
> +     */
> +     char inquiry_string[8 + 16 + 4 + 1];
> +
> +     struct kref             ref;
> +};
>  
>  /* FSF callback functions */
>  struct fsg_operations {
> -- 
> 1.8.3.2
>

-- 
Best regards,                                         _     _
.o. | Liege of Serenely Enlightened Majesty of      o' \,=./ `o
..o | Computer Science,  Michał “mina86” Nazarewicz    (o o)
ooo +--<m...@google.com>--<xmpp:min...@jabber.org>--ooO--(_)--Ooo--
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to