From patchwork Sun Apr 16 15:48:49 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eddie Cai X-Patchwork-Id: 751145 X-Patchwork-Delegate: marek.vasut@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3w5bSn0RBWz9s3s for ; Mon, 17 Apr 2017 01:50:17 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="f6ZNwPPn"; dkim-atps=neutral Received: by lists.denx.de (Postfix, from userid 105) id BD841C21C4C; Sun, 16 Apr 2017 15:50:14 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, KHOP_BIG_TO_CC, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 2C602C21C33; Sun, 16 Apr 2017 15:50:13 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 7CC83C21C33; Sun, 16 Apr 2017 15:50:11 +0000 (UTC) Received: from mail-pg0-f67.google.com (mail-pg0-f67.google.com [74.125.83.67]) by lists.denx.de (Postfix) with ESMTPS id CAB59C21C2C for ; Sun, 16 Apr 2017 15:50:10 +0000 (UTC) Received: by mail-pg0-f67.google.com with SMTP id g2so23146553pge.2 for ; Sun, 16 Apr 2017 08:50:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=CwmOcbT6sevGl4W3AVfY9+dd+SwOsiQdCcVUxjGTcOY=; b=f6ZNwPPn0Tn6fbgYPq+8HaZT6sH4ad1obCzI4XtLbScnzMCa2u+nhSH/E1fqYd+hLl eL/aqiHLdA1A5OYbNsqmEOIG7kAUU1O2WKSYN6D5R3rRT/tbNgkB0tbBiLbx71e/EerH 9SigSTpJQTOvIRj9MGzZg67yFx52BnQaclaOxDwjMMKTrCpLXpQLrJVPcuyFBJwEwBqb 2wbjpfpvh1uaVxp6R5ZPX51Pcw8/pVFPwSd1IY4BXd/1Cs67vorbbCMlxZapqixAIf3z Kk143VNBH6H4dESp0Cg84yR5MYWEJdTQ1EWHx6Mja/4ym1qSgvtRMVBNQt3u/b4fDqzb 7bBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=CwmOcbT6sevGl4W3AVfY9+dd+SwOsiQdCcVUxjGTcOY=; b=TG7c5HCrvVw9Wwf5TUX757mY+A+MKMCoA50VyT8eWSWCzBXT7XgIyt+0bmdEAMtscY VWocZxEvFzCEUtsO0HeZsNeKBQWEMnPCXfxf1kzBpaEUg/tg6DyTVi4l9MiCXpMierIV eAR/iz8Qrqwa8Pexdt5bGuvpMEpsFvLYBp+OabeKNMXJTF6GIM/KODv5uTxF9WcwcbDv ddR2H6a10BXhCXQn9z5UWf0BqU2qq2kE+nYQIwOM6jGS6PuNmGqEr1S54p6HgYkuiNnw VJRMWjdnYeDGOUyxY+b5I8Vi3FXeiF3863nRWv/NNJvCQnErRfm1L79ruWv+XHm6KVxL /uVA== X-Gm-Message-State: AN3rC/6vkogqj5pnRlOHPi07+ApXg0ZpDIO2pCNN9IVvfskTxzXvcuHF dZY+kHWNw6kYvQ== X-Received: by 10.99.175.7 with SMTP id w7mr7604728pge.170.1492357809424; Sun, 16 Apr 2017 08:50:09 -0700 (PDT) Received: from localhost.localdomain ([172.111.175.30]) by smtp.gmail.com with ESMTPSA id p16sm13172485pgc.4.2017.04.16.08.50.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 16 Apr 2017 08:50:08 -0700 (PDT) From: Eddie Cai To: sjg@chromium.org, lukma@denx.de, marex@denx.de, kever.yang@rock-chips.com, william.wu@rock-chips.com, trini@konsulko.com, yamada.masahiro@socionext.com, maxime.ripard@free-electrons.com, agraf@suse.de, bmeng.cn@gmail.com, yanmiaobest@gmail.com, dinguyen@kernel.org, boris.brezillon@free-electrons.com, sr@denx.de, uri.mashiach@compulab.co.il, michal.simek@xilinx.com Date: Sun, 16 Apr 2017 23:48:49 +0800 Message-Id: <20170416154856.14636-2-eddie.cai.linux@gmail.com> X-Mailer: git-send-email 2.10.2 In-Reply-To: <20170416154856.14636-1-eddie.cai.linux@gmail.com> References: <20170416154856.14636-1-eddie.cai.linux@gmail.com> Cc: u-boot@lists.denx.de Subject: [U-Boot] [U-Boot PATCH V2 1/8] usb: ums: split macro and data struct in f_mass_storage.c X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" split the macro and data struct in f_mass_storage.c to f_mass_storage.h Signed-off-by: Eddie Cai --- drivers/usb/gadget/f_mass_storage.c | 108 --------------------------------- include/f_mass_storage.h | 116 ++++++++++++++++++++++++++++++++++++ 2 files changed, 116 insertions(+), 108 deletions(-) diff --git a/drivers/usb/gadget/f_mass_storage.c b/drivers/usb/gadget/f_mass_storage.c index 1ecb92a..7164655 100644 --- a/drivers/usb/gadget/f_mass_storage.c +++ b/drivers/usb/gadget/f_mass_storage.c @@ -274,15 +274,6 @@ static const char fsg_string_interface[] = "Mass Storage"; /*-------------------------------------------------------------------------*/ -#define GFP_ATOMIC ((gfp_t) 0) -#define PAGE_CACHE_SHIFT 12 -#define PAGE_CACHE_SIZE (1 << PAGE_CACHE_SHIFT) -#define kthread_create(...) __builtin_return_address(0) -#define wait_for_completion(...) do {} while (0) - -struct kref {int x; }; -struct completion {int x; }; - inline void set_bit(int nr, volatile void *addr) { int mask; @@ -303,105 +294,6 @@ inline void clear_bit(int nr, volatile void *addr) *a &= ~mask; } -struct fsg_dev; -struct fsg_common; - -/* Data shared by all the FSG instances. */ -struct fsg_common { - struct usb_gadget *gadget; - struct fsg_dev *fsg, *new_fsg; - - 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[FSG_NUM_BUFFERS]; - - int cmnd_size; - u8 cmnd[MAX_COMMAND_SIZE]; - - unsigned int nluns; - unsigned int lun; - struct fsg_lun luns[FSG_MAX_LUNS]; - - 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; - - 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; - - const char *vendor_name; /* 8 characters or less */ - const char *product_name; /* 16 characters or less */ - u16 release; - - /* 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_config { - unsigned nluns; - struct fsg_lun_config { - const char *filename; - char ro; - char removable; - char cdrom; - char nofua; - } luns[FSG_MAX_LUNS]; - - /* Callback functions. */ - const struct fsg_operations *ops; - /* Gadget's private data. */ - void *private_data; - - const char *vendor_name; /* 8 characters or less */ - const char *product_name; /* 16 characters or less */ - - char can_stall; -}; - -struct fsg_dev { - struct usb_function function; - struct usb_gadget *gadget; /* Copy of cdev->gadget */ - struct fsg_common *common; - - u16 interface_number; - - unsigned int bulk_in_enabled:1; - unsigned int bulk_out_enabled:1; - - unsigned long atomic_bitflags; -#define IGNORE_BULK_OUT 0 - - struct usb_ep *bulk_in; - struct usb_ep *bulk_out; -}; - static inline int __fsg_is_set(struct fsg_common *common, const char *func, unsigned line) diff --git a/include/f_mass_storage.h b/include/f_mass_storage.h index 679f242..620af06 100644 --- a/include/f_mass_storage.h +++ b/include/f_mass_storage.h @@ -390,4 +390,120 @@ fsg_otg_desc = { }; #endif + + + + +#define GFP_ATOMIC ((gfp_t) 0) +#define PAGE_CACHE_SHIFT 12 +#define PAGE_CACHE_SIZE (1 << PAGE_CACHE_SHIFT) +#define kthread_create(...) __builtin_return_address(0) +#define wait_for_completion(...) do {} while (0) + +struct kref {int x; }; +struct completion {int x; }; + + +struct fsg_dev; +struct fsg_common; + +/* Data shared by all the FSG instances. */ +struct fsg_common { + struct usb_gadget *gadget; + struct fsg_dev *fsg, *new_fsg; + + 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[FSG_NUM_BUFFERS]; + + int cmnd_size; + u8 cmnd[MAX_COMMAND_SIZE]; + + unsigned int nluns; + unsigned int lun; + struct fsg_lun luns[FSG_MAX_LUNS]; + + 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; + + 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; + + const char *vendor_name; /* 8 characters or less */ + const char *product_name; /* 16 characters or less */ + u16 release; + + /* 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_config { + unsigned nluns; + struct fsg_lun_config { + const char *filename; + char ro; + char removable; + char cdrom; + char nofua; + } luns[FSG_MAX_LUNS]; + + /* Callback functions. */ + const struct fsg_operations *ops; + /* Gadget's private data. */ + void *private_data; + + const char *vendor_name; /* 8 characters or less */ + const char *product_name; /* 16 characters or less */ + + char can_stall; +}; + +struct fsg_dev { + struct usb_function function; + struct usb_gadget *gadget; /* Copy of cdev->gadget */ + struct fsg_common *common; + + u16 interface_number; + + unsigned int bulk_in_enabled:1; + unsigned int bulk_out_enabled:1; + + unsigned long atomic_bitflags; +#define IGNORE_BULK_OUT 0 + + struct usb_ep *bulk_in; + struct usb_ep *bulk_out; +}; + #endif /* __F_MASS_STORAGE_H_ */ + + +