get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.1/patches/2228953/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2228953,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2228953/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260427143300.2887692-1-arnd@kernel.org/",
    "project": {
        "id": 42,
        "url": "http://patchwork.ozlabs.org/api/1.1/projects/42/?format=api",
        "name": "Linux GPIO development",
        "link_name": "linux-gpio",
        "list_id": "linux-gpio.vger.kernel.org",
        "list_email": "linux-gpio@vger.kernel.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": ""
    },
    "msgid": "<20260427143300.2887692-1-arnd@kernel.org>",
    "date": "2026-04-27T14:32:10",
    "name": "usb: udc: pxa: remove unused platform_data",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "23e3ccb2d1e5ee32ff2bc0d319241eca8c975822",
    "submitter": {
        "id": 80402,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/80402/?format=api",
        "name": "Arnd Bergmann",
        "email": "arnd@kernel.org"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/linux-gpio/patch/20260427143300.2887692-1-arnd@kernel.org/mbox/",
    "series": [
        {
            "id": 501662,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/501662/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-gpio/list/?series=501662",
            "date": "2026-04-27T14:32:10",
            "name": "usb: udc: pxa: remove unused platform_data",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/501662/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2228953/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2228953/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "\n <linux-gpio+bounces-35594-incoming=patchwork.ozlabs.org@vger.kernel.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "linux-gpio@vger.kernel.org"
        ],
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=crfgzi4t;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-gpio+bounces-35594-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)",
            "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"crfgzi4t\"",
            "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"
        ],
        "Received": [
            "from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g45lr6lGBz1xvV\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 00:38:32 +1000 (AEST)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id ED0E830659FB\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 27 Apr 2026 14:33:10 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 0C2392C0282;\n\tMon, 27 Apr 2026 14:33:10 +0000 (UTC)",
            "from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 6D3A02C3261;\n\tMon, 27 Apr 2026 14:33:07 +0000 (UTC)",
            "by smtp.kernel.org (Postfix) with ESMTPSA id C66B0C19425;\n\tMon, 27 Apr 2026 14:33:03 +0000 (UTC)"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777300387; cv=none;\n b=n7BLVupdKXmxiaVl7yWFCGOcGat1whpwDE3Ckfasx2pYi/80C3yGdlXzrie9SdV6ldeQBlgdDxIieWA2qrA++ZEvYv87vFBvU91g/NqUTJNxoynJGRPwr0/mP91xPPkv/1rHK59m6s9529lJQNU9q0AzaR35fGGeh97qbuUbk7I=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777300387; c=relaxed/simple;\n\tbh=aklo0BvFPwrv13d7sJo9gJ9uyM2H4r+9uf4mxWiltQ8=;\n\th=From:To:Cc:Subject:Date:Message-Id:MIME-Version;\n b=UoANsTB+I0bhZwk2mP0Low713FQ2kcFOQHK+MDEhKtkj7MgrCzZtVfqwIhestJMP0dUJzEQWEa7yhupnrTy2e8VmkFuced97AyULK0ciIsYvYlRjZIHcTRJMeaeZDeFeJlA+Q3kPDmQaqLWCn0WxKunlx3zrNIhOYH2QLLL+Cbw=",
        "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=crfgzi4t; arc=none smtp.client-ip=10.30.226.201",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1777300386;\n\tbh=aklo0BvFPwrv13d7sJo9gJ9uyM2H4r+9uf4mxWiltQ8=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=crfgzi4tVgO6PX+CyBmsSwJTBG27MeyqYR5JSegwhsnakb1kVysXlGkVcmmIKHQxb\n\t +JAw3tSgePgN89iAsyv7Ync+7LLU4WK6hLssPT2B/tbtN04YzhnGwbYOwnWKHbbOLi\n\t dafhThm6fc+x4uFGOE5hO7Vg7XpXQKv1sGUYEopxe/cb3kmvaE4ayFaJTOUf458XQ8\n\t mwW1WoNbdJ8EQQ97sL8DoatPRvqpRae2AcLNqLOdhawViMjSRbWDOSXEco3BttzckJ\n\t XRp4Je4tc8Ch5sO52tRUUtZi/ILCACq786acytfKXeYj6Jb6JHoZ2/DlUB6E2uunv4\n\t Krbk1+jiMW9lA==",
        "From": "Arnd Bergmann <arnd@kernel.org>",
        "To": "Greg Kroah-Hartman <gregkh@linuxfoundation.org>",
        "Cc": "Arnd Bergmann <arnd@arndb.de>,\n\tAndy Shevchenko <andriy.shevchenko@linux.intel.com>,\n\tDaniel Mack <daniel@zonque.org>,\n\tHaojian Zhuang <haojian.zhuang@gmail.com>,\n\tRobert Jarzmik <robert.jarzmik@free.fr>,\n\tLinus Walleij <linusw@kernel.org>,\n\tBartosz Golaszewski <brgl@kernel.org>,\n\tlinux-arm-kernel@lists.infradead.org,\n\tlinux-kernel@vger.kernel.org,\n\tlinux-usb@vger.kernel.org,\n\tlinux-gpio@vger.kernel.org",
        "Subject": "[PATCH] usb: udc: pxa: remove unused platform_data",
        "Date": "Mon, 27 Apr 2026 16:32:10 +0200",
        "Message-Id": "<20260427143300.2887692-1-arnd@kernel.org>",
        "X-Mailer": "git-send-email 2.39.5",
        "Precedence": "bulk",
        "X-Mailing-List": "linux-gpio@vger.kernel.org",
        "List-Id": "<linux-gpio.vger.kernel.org>",
        "List-Subscribe": "<mailto:linux-gpio+subscribe@vger.kernel.org>",
        "List-Unsubscribe": "<mailto:linux-gpio+unsubscribe@vger.kernel.org>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit"
    },
    "content": "From: Arnd Bergmann <arnd@arndb.de>\n\nNone of the remaining boards put useful data into the platform_data\nstructures, so effectively this only works with DT based probing.\n\nRemove all code that references this data, to stop using the legacy\ngpiolib interfaces. The pxa27x version already supports gpio\ndescriptors, while the pxa25x version now does it the same way.\n\nReviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>\nSigned-off-by: Arnd Bergmann <arnd@arndb.de>\n---\nv2: add devm_gpiod_get() error check in pxa27x\n    use GPIOD_OUT_HIGH instead of low for pxa25x pullup\n---\n arch/arm/mach-pxa/devices.c              |  7 ----\n arch/arm/mach-pxa/gumstix.c              |  1 -\n arch/arm/mach-pxa/udc.h                  |  8 -----\n drivers/usb/gadget/udc/pxa25x_udc.c      | 41 ++++++++----------------\n drivers/usb/gadget/udc/pxa25x_udc.h      |  2 +-\n drivers/usb/gadget/udc/pxa27x_udc.c      | 37 ++++-----------------\n drivers/usb/gadget/udc/pxa27x_udc.h      |  2 --\n include/linux/platform_data/pxa2xx_udc.h | 15 ---------\n 8 files changed, 21 insertions(+), 92 deletions(-)\n delete mode 100644 arch/arm/mach-pxa/udc.h",
    "diff": "diff --git a/arch/arm/mach-pxa/devices.c b/arch/arm/mach-pxa/devices.c\nindex 7695cfce01a1..edad956a1483 100644\n--- a/arch/arm/mach-pxa/devices.c\n+++ b/arch/arm/mach-pxa/devices.c\n@@ -11,7 +11,6 @@\n #include <linux/platform_data/i2c-pxa.h>\n #include <linux/soc/pxa/cpu.h>\n \n-#include \"udc.h\"\n #include <linux/platform_data/video-pxafb.h>\n #include <linux/platform_data/mmc-pxamci.h>\n #include \"irqs.h\"\n@@ -83,10 +82,6 @@ void __init pxa_set_mci_info(const struct pxamci_platform_data *info,\n \t\tpr_err(\"Unable to create mci device: %d\\n\", err);\n }\n \n-static struct pxa2xx_udc_mach_info pxa_udc_info = {\n-\t.gpio_pullup = -1,\n-};\n-\n static struct resource pxa2xx_udc_resources[] = {\n \t[0] = {\n \t\t.start\t= 0x40600000,\n@@ -108,7 +103,6 @@ struct platform_device pxa25x_device_udc = {\n \t.resource\t= pxa2xx_udc_resources,\n \t.num_resources\t= ARRAY_SIZE(pxa2xx_udc_resources),\n \t.dev\t\t=  {\n-\t\t.platform_data\t= &pxa_udc_info,\n \t\t.dma_mask\t= &udc_dma_mask,\n \t}\n };\n@@ -119,7 +113,6 @@ struct platform_device pxa27x_device_udc = {\n \t.resource\t= pxa2xx_udc_resources,\n \t.num_resources\t= ARRAY_SIZE(pxa2xx_udc_resources),\n \t.dev\t\t=  {\n-\t\t.platform_data\t= &pxa_udc_info,\n \t\t.dma_mask\t= &udc_dma_mask,\n \t}\n };\ndiff --git a/arch/arm/mach-pxa/gumstix.c b/arch/arm/mach-pxa/gumstix.c\nindex 1af3f9eccb8b..7ab0cb015d1b 100644\n--- a/arch/arm/mach-pxa/gumstix.c\n+++ b/arch/arm/mach-pxa/gumstix.c\n@@ -39,7 +39,6 @@\n \n #include \"pxa25x.h\"\n #include <linux/platform_data/mmc-pxamci.h>\n-#include \"udc.h\"\n #include \"gumstix.h\"\n #include \"devices.h\"\n \ndiff --git a/arch/arm/mach-pxa/udc.h b/arch/arm/mach-pxa/udc.h\ndeleted file mode 100644\nindex 9a827e32db98..000000000000\n--- a/arch/arm/mach-pxa/udc.h\n+++ /dev/null\n@@ -1,8 +0,0 @@\n-/*\n- * arch/arm/mach-pxa/include/mach/udc.h\n- *\n- */\n-#include <linux/platform_data/pxa2xx_udc.h>\n-\n-extern void pxa_set_udc_info(struct pxa2xx_udc_mach_info *info);\n-\ndiff --git a/drivers/usb/gadget/udc/pxa25x_udc.c b/drivers/usb/gadget/udc/pxa25x_udc.c\nindex b3d58d7c3a77..594d67193763 100644\n--- a/drivers/usb/gadget/udc/pxa25x_udc.c\n+++ b/drivers/usb/gadget/udc/pxa25x_udc.c\n@@ -12,7 +12,7 @@\n /* #define VERBOSE_DEBUG */\n \n #include <linux/device.h>\n-#include <linux/gpio.h>\n+#include <linux/gpio/consumer.h>\n #include <linux/module.h>\n #include <linux/kernel.h>\n #include <linux/ioport.h>\n@@ -261,24 +261,12 @@ static void nuke (struct pxa25x_ep *, int status);\n /* one GPIO should control a D+ pullup, so host sees this device (or not) */\n static void pullup_off(void)\n {\n-\tstruct pxa2xx_udc_mach_info\t\t*mach = the_controller->mach;\n-\tint off_level = mach->gpio_pullup_inverted;\n-\n-\tif (gpio_is_valid(mach->gpio_pullup))\n-\t\tgpio_set_value(mach->gpio_pullup, off_level);\n-\telse if (mach->udc_command)\n-\t\tmach->udc_command(PXA2XX_UDC_CMD_DISCONNECT);\n+\tgpiod_set_value(the_controller->pullup_gpio, 0);\n }\n \n static void pullup_on(void)\n {\n-\tstruct pxa2xx_udc_mach_info\t\t*mach = the_controller->mach;\n-\tint on_level = !mach->gpio_pullup_inverted;\n-\n-\tif (gpio_is_valid(mach->gpio_pullup))\n-\t\tgpio_set_value(mach->gpio_pullup, on_level);\n-\telse if (mach->udc_command)\n-\t\tmach->udc_command(PXA2XX_UDC_CMD_CONNECT);\n+\tgpiod_set_value(the_controller->pullup_gpio, 1);\n }\n \n #if defined(CONFIG_CPU_BIG_ENDIAN)\n@@ -1190,8 +1178,7 @@ static int pxa25x_udc_pullup(struct usb_gadget *_gadget, int is_active)\n \n \tudc = container_of(_gadget, struct pxa25x_udc, gadget);\n \n-\t/* not all boards support pullup control */\n-\tif (!gpio_is_valid(udc->mach->gpio_pullup) && !udc->mach->udc_command)\n+\tif (!udc->pullup_gpio)\n \t\treturn -EOPNOTSUPP;\n \n \tudc->pullup = (is_active != 0);\n@@ -2343,19 +2330,17 @@ static int pxa25x_udc_probe(struct platform_device *pdev)\n \n \t/* other non-static parts of init */\n \tdev->dev = &pdev->dev;\n-\tdev->mach = dev_get_platdata(&pdev->dev);\n \n \tdev->transceiver = devm_usb_get_phy(&pdev->dev, USB_PHY_TYPE_USB2);\n \n-\tif (gpio_is_valid(dev->mach->gpio_pullup)) {\n-\t\tretval = devm_gpio_request_one(&pdev->dev, dev->mach->gpio_pullup,\n-\t\t\t\t\t       GPIOF_OUT_INIT_LOW, \"pca25x_udc GPIO PULLUP\");\n-\t\tif (retval) {\n-\t\t\tdev_dbg(&pdev->dev,\n-\t\t\t\t\"can't get pullup gpio %d, err: %d\\n\",\n-\t\t\t\tdev->mach->gpio_pullup, retval);\n-\t\t\tgoto err;\n-\t\t}\n+\tdev->pullup_gpio = devm_gpiod_get_index_optional(&pdev->dev, \"pullup\", 0,\n+\t\t\t\t\t\t    GPIOD_OUT_HIGH);\n+\tif (IS_ERR(dev->pullup_gpio)) {\n+\t\tdev_dbg(&pdev->dev,\n+\t\t\t\"can't get pullup gpio err: %ld\\n\",\n+\t\t\tPTR_ERR(dev->pullup_gpio));\n+\t\tretval = PTR_ERR(dev->pullup_gpio);\n+\t\tgoto err;\n \t}\n \n \ttimer_setup(&dev->timer, udc_watchdog, 0);\n@@ -2439,7 +2424,7 @@ static int pxa25x_udc_suspend(struct platform_device *dev, pm_message_t state)\n \tstruct pxa25x_udc\t*udc = platform_get_drvdata(dev);\n \tunsigned long flags;\n \n-\tif (!gpio_is_valid(udc->mach->gpio_pullup) && !udc->mach->udc_command)\n+\tif (!udc->pullup_gpio)\n \t\tWARNING(\"USB host won't detect disconnect!\\n\");\n \tudc->suspended = 1;\n \ndiff --git a/drivers/usb/gadget/udc/pxa25x_udc.h b/drivers/usb/gadget/udc/pxa25x_udc.h\nindex 6ab6047edc83..3452cf54286c 100644\n--- a/drivers/usb/gadget/udc/pxa25x_udc.h\n+++ b/drivers/usb/gadget/udc/pxa25x_udc.h\n@@ -112,7 +112,7 @@ struct pxa25x_udc {\n \n \tstruct device\t\t\t\t*dev;\n \tstruct clk\t\t\t\t*clk;\n-\tstruct pxa2xx_udc_mach_info\t\t*mach;\n+\tstruct gpio_desc\t\t\t*pullup_gpio;\n \tstruct usb_phy\t\t\t\t*transceiver;\n \tu64\t\t\t\t\tdma_mask;\n \tstruct pxa25x_ep\t\t\tep [PXA_UDC_NUM_ENDPOINTS];\ndiff --git a/drivers/usb/gadget/udc/pxa27x_udc.c b/drivers/usb/gadget/udc/pxa27x_udc.c\nindex 1abea0d48c35..640f81988c04 100644\n--- a/drivers/usb/gadget/udc/pxa27x_udc.c\n+++ b/drivers/usb/gadget/udc/pxa27x_udc.c\n@@ -17,7 +17,6 @@\n #include <linux/proc_fs.h>\n #include <linux/clk.h>\n #include <linux/irq.h>\n-#include <linux/gpio.h>\n #include <linux/gpio/consumer.h>\n #include <linux/slab.h>\n #include <linux/string_choices.h>\n@@ -1423,14 +1422,7 @@ static const struct usb_ep_ops pxa_ep_ops = {\n  */\n static void dplus_pullup(struct pxa_udc *udc, int on)\n {\n-\tif (udc->gpiod) {\n-\t\tgpiod_set_value(udc->gpiod, on);\n-\t} else if (udc->udc_command) {\n-\t\tif (on)\n-\t\t\tudc->udc_command(PXA2XX_UDC_CMD_CONNECT);\n-\t\telse\n-\t\t\tudc->udc_command(PXA2XX_UDC_CMD_DISCONNECT);\n-\t}\n+\tgpiod_set_value(udc->gpiod, on);\n \tudc->pullup_on = on;\n }\n \n@@ -1521,7 +1513,7 @@ static int pxa_udc_pullup(struct usb_gadget *_gadget, int is_active)\n \tstruct pxa_udc *udc = to_gadget_udc(_gadget);\n \tint ret;\n \n-\tif (!udc->gpiod && !udc->udc_command)\n+\tif (!udc->gpiod)\n \t\treturn -EOPNOTSUPP;\n \n \tdplus_pullup(udc, is_active);\n@@ -2380,26 +2372,11 @@ MODULE_DEVICE_TABLE(of, udc_pxa_dt_ids);\n static int pxa_udc_probe(struct platform_device *pdev)\n {\n \tstruct pxa_udc *udc = &memory;\n-\tint retval = 0, gpio;\n-\tstruct pxa2xx_udc_mach_info *mach = dev_get_platdata(&pdev->dev);\n-\n-\tif (mach) {\n-\t\tgpio = mach->gpio_pullup;\n-\t\tif (gpio_is_valid(gpio)) {\n-\t\t\tretval = devm_gpio_request_one(&pdev->dev, gpio,\n-\t\t\t\t\t\t       GPIOF_OUT_INIT_LOW,\n-\t\t\t\t\t\t       \"USB D+ pullup\");\n-\t\t\tif (retval)\n-\t\t\t\treturn retval;\n-\t\t\tudc->gpiod = gpio_to_desc(mach->gpio_pullup);\n-\n-\t\t\tif (mach->gpio_pullup_inverted ^ gpiod_is_active_low(udc->gpiod))\n-\t\t\t\tgpiod_toggle_active_low(udc->gpiod);\n-\t\t}\n-\t\tudc->udc_command = mach->udc_command;\n-\t} else {\n-\t\tudc->gpiod = devm_gpiod_get(&pdev->dev, NULL, GPIOD_ASIS);\n-\t}\n+\tint retval = 0;\n+\n+\tudc->gpiod = devm_gpiod_get(&pdev->dev, NULL, GPIOD_ASIS);\n+\tif (IS_ERR(udc->gpiod))\n+\t\treturn PTR_ERR(udc->gpiod);\n \n \tudc->regs = devm_platform_ioremap_resource(pdev, 0);\n \tif (IS_ERR(udc->regs))\ndiff --git a/drivers/usb/gadget/udc/pxa27x_udc.h b/drivers/usb/gadget/udc/pxa27x_udc.h\nindex 31bf79ce931c..2c28b691010a 100644\n--- a/drivers/usb/gadget/udc/pxa27x_udc.h\n+++ b/drivers/usb/gadget/udc/pxa27x_udc.h\n@@ -426,7 +426,6 @@ struct udc_stats {\n  * @usb_gadget: udc gadget structure\n  * @driver: bound gadget (zero, g_ether, g_mass_storage, ...)\n  * @dev: device\n- * @udc_command: machine specific function to activate D+ pullup\n  * @gpiod: gpio descriptor of gpio for D+ pullup (or NULL if none)\n  * @transceiver: external transceiver to handle vbus sense and D+ pullup\n  * @ep0state: control endpoint state machine state\n@@ -452,7 +451,6 @@ struct pxa_udc {\n \tstruct usb_gadget\t\t\tgadget;\n \tstruct usb_gadget_driver\t\t*driver;\n \tstruct device\t\t\t\t*dev;\n-\tvoid\t\t\t\t\t(*udc_command)(int);\n \tstruct gpio_desc\t\t\t*gpiod;\n \tstruct usb_phy\t\t\t\t*transceiver;\n \ndiff --git a/include/linux/platform_data/pxa2xx_udc.h b/include/linux/platform_data/pxa2xx_udc.h\nindex bc99cc6a3c5f..c1e4d03bae2c 100644\n--- a/include/linux/platform_data/pxa2xx_udc.h\n+++ b/include/linux/platform_data/pxa2xx_udc.h\n@@ -10,21 +10,6 @@\n #ifndef PXA2XX_UDC_H\n #define PXA2XX_UDC_H\n \n-struct pxa2xx_udc_mach_info {\n-        int  (*udc_is_connected)(void);\t\t/* do we see host? */\n-        void (*udc_command)(int cmd);\n-#define\tPXA2XX_UDC_CMD_CONNECT\t\t0\t/* let host see us */\n-#define\tPXA2XX_UDC_CMD_DISCONNECT\t1\t/* so host won't see us */\n-\n-\t/* Boards following the design guidelines in the developer's manual,\n-\t * with on-chip GPIOs not Lubbock's weird hardware, can have a sane\n-\t * VBUS IRQ and omit the methods above.  Store the GPIO number\n-\t * here.  Note that sometimes the signals go through inverters...\n-\t */\n-\tbool\tgpio_pullup_inverted;\n-\tint\tgpio_pullup;\t\t\t/* high == pullup activated */\n-};\n-\n #ifdef CONFIG_PXA27x\n extern void pxa27x_clear_otgph(void);\n #else\n",
    "prefixes": []
}