tree: https://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git testing/next head: 89fe2b5ab11cdf6a67d4492d893e70e330aa7060 commit: 231b31ca34485552fe27e67dc6d30d06079c7648 [64/67] usb: gadget: move gadget API functions to udc-core config: arm-pxa_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 5.3.1-8) 5.3.1 20160205 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 231b31ca34485552fe27e67dc6d30d06079c7648 # save the attached .config to linux build tree make.cross ARCH=arm
All errors (new ones prefixed by >>):
drivers/built-in.o: In function `gpio_vbus_set_peripheral':
>> drivers/usb/phy/phy-gpio-vbus-usb.c:200: undefined reference to
>> `usb_gadget_vbus_disconnect'
drivers/built-in.o: In function `gpio_vbus_work':
drivers/usb/phy/phy-gpio-vbus-usb.c:145: undefined reference to
`usb_gadget_vbus_disconnect'
>> drivers/usb/phy/phy-gpio-vbus-usb.c:126: undefined reference to
>> `usb_gadget_vbus_connect'
vim +200 drivers/usb/phy/phy-gpio-vbus-usb.c
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 120
gpio = pdata->gpio_pullup;
e44694e8 drivers/usb/otg/gpio_vbus.c Shinya Kuribayashi 2012-05-10 121
e44694e8 drivers/usb/otg/gpio_vbus.c Shinya Kuribayashi 2012-05-10 122
if (vbus) {
662c738d drivers/usb/otg/gpio_vbus.c Heiko Stübner 2012-02-29 123
status = USB_EVENT_VBUS;
e47d9254 drivers/usb/phy/phy-gpio-vbus-usb.c Antoine Tenart 2014-10-30 124
gpio_vbus->phy.otg->state = OTG_STATE_B_PERIPHERAL;
662c738d drivers/usb/otg/gpio_vbus.c Heiko Stübner 2012-02-29 125
gpio_vbus->phy.last_event = status;
16bc1bb2 drivers/usb/otg/gpio_vbus.c Heikki Krogerus 2012-02-13 @126
usb_gadget_vbus_connect(gpio_vbus->phy.otg->gadget);
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 127
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 128
/* drawing a "unit load" is *always* OK, except for OTG */
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 129
set_vbus_draw(gpio_vbus, 100);
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 130
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 131
/* optionally enable D+ pullup */
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 132
if (gpio_is_valid(gpio))
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 133
gpio_set_value(gpio, !pdata->gpio_pullup_inverted);
662c738d drivers/usb/otg/gpio_vbus.c Heiko Stübner 2012-02-29 134
662c738d drivers/usb/otg/gpio_vbus.c Heiko Stübner 2012-02-29 135
atomic_notifier_call_chain(&gpio_vbus->phy.notifier,
662c738d drivers/usb/otg/gpio_vbus.c Heiko Stübner 2012-02-29 136
status, gpio_vbus->phy.otg->gadget);
b20f3f9e drivers/usb/phy/phy-gpio-vbus-usb.c Kiran Raparthy 2014-11-24 137
usb_phy_set_event(&gpio_vbus->phy, USB_EVENT_ENUMERATED);
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 138
} else {
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 139
/* optionally disable D+ pullup */
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 140
if (gpio_is_valid(gpio))
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 141
gpio_set_value(gpio, pdata->gpio_pullup_inverted);
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 142
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 143
set_vbus_draw(gpio_vbus, 0);
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 144
16bc1bb2 drivers/usb/otg/gpio_vbus.c Heikki Krogerus 2012-02-13 145
usb_gadget_vbus_disconnect(gpio_vbus->phy.otg->gadget);
662c738d drivers/usb/otg/gpio_vbus.c Heiko Stübner 2012-02-29 146
status = USB_EVENT_NONE;
e47d9254 drivers/usb/phy/phy-gpio-vbus-usb.c Antoine Tenart 2014-10-30 147
gpio_vbus->phy.otg->state = OTG_STATE_B_IDLE;
662c738d drivers/usb/otg/gpio_vbus.c Heiko Stübner 2012-02-29 148
gpio_vbus->phy.last_event = status;
662c738d drivers/usb/otg/gpio_vbus.c Heiko Stübner 2012-02-29 149
662c738d drivers/usb/otg/gpio_vbus.c Heiko Stübner 2012-02-29 150
atomic_notifier_call_chain(&gpio_vbus->phy.notifier,
662c738d drivers/usb/otg/gpio_vbus.c Heiko Stübner 2012-02-29 151
status, gpio_vbus->phy.otg->gadget);
b20f3f9e drivers/usb/phy/phy-gpio-vbus-usb.c Kiran Raparthy 2014-11-24 152
usb_phy_set_event(&gpio_vbus->phy, USB_EVENT_NONE);
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 153
}
c2344f13 drivers/usb/otg/gpio_vbus.c Robert Jarzmik 2009-01-24 154
}
c2344f13 drivers/usb/otg/gpio_vbus.c Robert Jarzmik 2009-01-24 155
c2344f13 drivers/usb/otg/gpio_vbus.c Robert Jarzmik 2009-01-24 156
/* VBUS change IRQ handler */
c2344f13 drivers/usb/otg/gpio_vbus.c Robert Jarzmik 2009-01-24 157
static irqreturn_t gpio_vbus_irq(int irq, void *data)
c2344f13 drivers/usb/otg/gpio_vbus.c Robert Jarzmik 2009-01-24 158
{
c2344f13 drivers/usb/otg/gpio_vbus.c Robert Jarzmik 2009-01-24 159
struct platform_device *pdev = data;
19f9e188 drivers/usb/phy/phy-gpio-vbus-usb.c Jingoo Han 2013-07-30 160
struct gpio_vbus_mach_info *pdata = dev_get_platdata(&pdev->dev);
c2344f13 drivers/usb/otg/gpio_vbus.c Robert Jarzmik 2009-01-24 161
struct gpio_vbus_data *gpio_vbus = platform_get_drvdata(pdev);
16bc1bb2 drivers/usb/otg/gpio_vbus.c Heikki Krogerus 2012-02-13 162
struct usb_otg *otg = gpio_vbus->phy.otg;
c2344f13 drivers/usb/otg/gpio_vbus.c Robert Jarzmik 2009-01-24 163
c2344f13 drivers/usb/otg/gpio_vbus.c Robert Jarzmik 2009-01-24 164
dev_dbg(&pdev->dev, "VBUS %s (gadget: %s)\n",
c2344f13 drivers/usb/otg/gpio_vbus.c Robert Jarzmik 2009-01-24 165
is_vbus_powered(pdata) ? "supplied" : "inactive",
16bc1bb2 drivers/usb/otg/gpio_vbus.c Heikki Krogerus 2012-02-13 166
otg->gadget ? otg->gadget->name : "none");
c2344f13 drivers/usb/otg/gpio_vbus.c Robert Jarzmik 2009-01-24 167
16bc1bb2 drivers/usb/otg/gpio_vbus.c Heikki Krogerus 2012-02-13 168
if (otg->gadget)
934ccec4 drivers/usb/otg/gpio_vbus.c Shinya Kuribayashi 2012-05-10 169
schedule_delayed_work(&gpio_vbus->work, msecs_to_jiffies(100));
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 170
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 171
return IRQ_HANDLED;
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 172
}
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 173
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 174
/* OTG transceiver interface */
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 175
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 176
/* bind/unbind the peripheral controller */
16bc1bb2 drivers/usb/otg/gpio_vbus.c Heikki Krogerus 2012-02-13 177
static int gpio_vbus_set_peripheral(struct usb_otg *otg,
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 178
struct usb_gadget *gadget)
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 179
{
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 180
struct gpio_vbus_data *gpio_vbus;
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 181
struct gpio_vbus_mach_info *pdata;
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 182
struct platform_device *pdev;
123bbcee drivers/usb/otg/gpio_vbus.c Shinya Kuribayashi 2012-05-17 183
int gpio;
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 184
19c1eac2 drivers/usb/phy/phy-gpio-vbus-usb.c Antoine Tenart 2014-10-30 185
gpio_vbus = container_of(otg->usb_phy, struct gpio_vbus_data, phy);
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 186
pdev = to_platform_device(gpio_vbus->dev);
19f9e188 drivers/usb/phy/phy-gpio-vbus-usb.c Jingoo Han 2013-07-30 187
pdata = dev_get_platdata(gpio_vbus->dev);
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 188
gpio = pdata->gpio_pullup;
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 189
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 190
if (!gadget) {
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 191
dev_dbg(&pdev->dev, "unregistering gadget '%s'\n",
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 192
otg->gadget->name);
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 193
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 194
/* optionally disable D+ pullup */
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 195
if (gpio_is_valid(gpio))
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 196
gpio_set_value(gpio, pdata->gpio_pullup_inverted);
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 197
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 198
set_vbus_draw(gpio_vbus, 0);
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 199
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 @200
usb_gadget_vbus_disconnect(otg->gadget);
e47d9254 drivers/usb/phy/phy-gpio-vbus-usb.c Antoine Tenart 2014-10-30 201
otg->state = OTG_STATE_UNDEFINED;
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 202
6084f1bf drivers/usb/otg/gpio_vbus.c Philipp Zabel 2008-11-24 203
otg->gadget = NULL;
:::::: The code at line 200 was first introduced by commit
:::::: 6084f1bf0c51a99cbba612ee90a4607cffb8b042 USB: otg: gpio_vbus transceiver
stub
:::::: TO: Philipp Zabel <[email protected]>
:::::: CC: Greg Kroah-Hartman <[email protected]>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
.config.gz
Description: Binary data
