From: kbuild test robot <lkp@intel.com>
To: Iyappan Subramanian <isubramanian@apm.com>
Cc: kbuild-all@01.org, davem@davemloft.net, netdev@vger.kernel.org,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
patches@apm.com, linux@armlinux.org.uk,
Iyappan Subramanian <isubramanian@apm.com>,
Quan Nguyen <qnguyen@apm.com>
Subject: Re: [PATCH net-next 08/10] drivers: net: xgene: Poll link status via GPIO
Date: Sat, 30 Jul 2016 12:32:35 +0800 [thread overview]
Message-ID: <201607301242.96Hv3p6V%fengguang.wu@intel.com> (raw)
In-Reply-To: <1469838843-19943-9-git-send-email-isubramanian@apm.com>
[-- Attachment #1: Type: text/plain, Size: 19312 bytes --]
Hi,
[auto build test ERROR on net-next/master]
url: https://github.com/0day-ci/linux/commits/Iyappan-Subramanian/Fix-warning-and-issues/20160730-083713
config: xtensa-allmodconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 4.9.0
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
# save the attached .config to linux build tree
make.cross ARCH=xtensa
All error/warnings (new ones prefixed by >>):
drivers/gpio/gpio-xgene-sb.c: In function 'xgene_gpio_sb_irq_set_type':
>> drivers/gpio/gpio-xgene-sb.c:111:3: error: implicit declaration of function 'irq_chip_set_type_parent' [-Werror=implicit-function-declaration]
return irq_chip_set_type_parent(d, IRQ_TYPE_EDGE_RISING);
^
drivers/gpio/gpio-xgene-sb.c: At top level:
>> drivers/gpio/gpio-xgene-sb.c:118:13: error: 'irq_chip_eoi_parent' undeclared here (not in a function)
.irq_eoi = irq_chip_eoi_parent,
^
>> drivers/gpio/gpio-xgene-sb.c:119:20: error: 'irq_chip_mask_parent' undeclared here (not in a function)
.irq_mask = irq_chip_mask_parent,
^
>> drivers/gpio/gpio-xgene-sb.c:120:20: error: 'irq_chip_unmask_parent' undeclared here (not in a function)
.irq_unmask = irq_chip_unmask_parent,
^
drivers/gpio/gpio-xgene-sb.c: In function 'xgene_gpio_sb_domain_alloc':
>> drivers/gpio/gpio-xgene-sb.c:198:3: error: implicit declaration of function 'irq_domain_set_hwirq_and_chip' [-Werror=implicit-function-declaration]
irq_domain_set_hwirq_and_chip(domain, virq + i, hwirq + i,
^
>> drivers/gpio/gpio-xgene-sb.c:201:31: error: 'struct irq_domain' has no member named 'parent'
parent_fwspec.fwnode = domain->parent->fwnode;
^
>> drivers/gpio/gpio-xgene-sb.c:215:2: error: implicit declaration of function 'irq_domain_alloc_irqs_parent' [-Werror=implicit-function-declaration]
return irq_domain_alloc_irqs_parent(domain, virq, nr_irqs,
^
drivers/gpio/gpio-xgene-sb.c: At top level:
>> drivers/gpio/gpio-xgene-sb.c:220:2: error: unknown field 'translate' specified in initializer
.translate = xgene_gpio_sb_domain_translate,
^
>> drivers/gpio/gpio-xgene-sb.c:220:2: warning: initialization from incompatible pointer type
drivers/gpio/gpio-xgene-sb.c:220:2: warning: (near initialization for 'xgene_gpio_sb_domain_ops.match')
>> drivers/gpio/gpio-xgene-sb.c:221:2: error: unknown field 'alloc' specified in initializer
.alloc = xgene_gpio_sb_domain_alloc,
^
drivers/gpio/gpio-xgene-sb.c:221:2: warning: initialization from incompatible pointer type
drivers/gpio/gpio-xgene-sb.c:221:2: warning: (near initialization for 'xgene_gpio_sb_domain_ops.select')
>> drivers/gpio/gpio-xgene-sb.c:222:2: error: unknown field 'free' specified in initializer
.free = irq_domain_free_irqs_common,
^
>> drivers/gpio/gpio-xgene-sb.c:222:20: error: 'irq_domain_free_irqs_common' undeclared here (not in a function)
.free = irq_domain_free_irqs_common,
^
>> drivers/gpio/gpio-xgene-sb.c:223:2: error: unknown field 'activate' specified in initializer
.activate = xgene_gpio_sb_domain_activate,
^
drivers/gpio/gpio-xgene-sb.c:223:2: warning: initialization from incompatible pointer type
drivers/gpio/gpio-xgene-sb.c:223:2: warning: (near initialization for 'xgene_gpio_sb_domain_ops.unmap')
>> drivers/gpio/gpio-xgene-sb.c:224:2: error: unknown field 'deactivate' specified in initializer
.deactivate = xgene_gpio_sb_domain_deactivate,
^
drivers/gpio/gpio-xgene-sb.c:224:2: warning: initialization from incompatible pointer type
drivers/gpio/gpio-xgene-sb.c:224:2: warning: (near initialization for 'xgene_gpio_sb_domain_ops.xlate')
drivers/gpio/gpio-xgene-sb.c: In function 'xgene_gpio_sb_probe':
>> drivers/gpio/gpio-xgene-sb.c:293:2: error: implicit declaration of function 'irq_domain_create_hierarchy' [-Werror=implicit-function-declaration]
priv->irq_domain = irq_domain_create_hierarchy(parent_domain,
^
>> drivers/gpio/gpio-xgene-sb.c:293:19: warning: assignment makes pointer from integer without a cast
priv->irq_domain = irq_domain_create_hierarchy(parent_domain,
^
cc1: some warnings being treated as errors
vim +/irq_chip_set_type_parent +111 drivers/gpio/gpio-xgene-sb.c
1013fc417 Quan Nguyen 2016-02-17 105 gpio * 2, 1);
1013fc417 Quan Nguyen 2016-02-17 106 xgene_gpio_set_bit(&priv->gc, priv->regs + MPA_GPIO_INT_LVL,
1013fc417 Quan Nguyen 2016-02-17 107 d->hwirq, lvl_type);
1013fc417 Quan Nguyen 2016-02-17 108
1013fc417 Quan Nguyen 2016-02-17 109 /* Propagate IRQ type setting to parent */
1013fc417 Quan Nguyen 2016-02-17 110 if (type & IRQ_TYPE_EDGE_BOTH)
1013fc417 Quan Nguyen 2016-02-17 @111 return irq_chip_set_type_parent(d, IRQ_TYPE_EDGE_RISING);
1013fc417 Quan Nguyen 2016-02-17 112 else
1013fc417 Quan Nguyen 2016-02-17 113 return irq_chip_set_type_parent(d, IRQ_TYPE_LEVEL_HIGH);
1013fc417 Quan Nguyen 2016-02-17 114 }
1013fc417 Quan Nguyen 2016-02-17 115
1013fc417 Quan Nguyen 2016-02-17 116 static struct irq_chip xgene_gpio_sb_irq_chip = {
1013fc417 Quan Nguyen 2016-02-17 117 .name = "sbgpio",
1013fc417 Quan Nguyen 2016-02-17 @118 .irq_eoi = irq_chip_eoi_parent,
1013fc417 Quan Nguyen 2016-02-17 @119 .irq_mask = irq_chip_mask_parent,
1013fc417 Quan Nguyen 2016-02-17 @120 .irq_unmask = irq_chip_unmask_parent,
1013fc417 Quan Nguyen 2016-02-17 121 .irq_set_type = xgene_gpio_sb_irq_set_type,
1013fc417 Quan Nguyen 2016-02-17 122 };
b2b35e108 Y Vo 2015-01-16 123
1013fc417 Quan Nguyen 2016-02-17 124 static int xgene_gpio_sb_to_irq(struct gpio_chip *gc, u32 gpio)
1013fc417 Quan Nguyen 2016-02-17 125 {
1013fc417 Quan Nguyen 2016-02-17 126 struct xgene_gpio_sb *priv = gpiochip_get_data(gc);
1013fc417 Quan Nguyen 2016-02-17 127 struct irq_fwspec fwspec;
b2b35e108 Y Vo 2015-01-16 128
1013fc417 Quan Nguyen 2016-02-17 129 if ((gpio < priv->irq_start) ||
1013fc417 Quan Nguyen 2016-02-17 130 (gpio > HWIRQ_TO_GPIO(priv, priv->nirq)))
b2b35e108 Y Vo 2015-01-16 131 return -ENXIO;
1013fc417 Quan Nguyen 2016-02-17 132
1013fc417 Quan Nguyen 2016-02-17 133 if (gc->parent->of_node)
1013fc417 Quan Nguyen 2016-02-17 134 fwspec.fwnode = of_node_to_fwnode(gc->parent->of_node);
1013fc417 Quan Nguyen 2016-02-17 135 else
1013fc417 Quan Nguyen 2016-02-17 136 fwspec.fwnode = gc->parent->fwnode;
1013fc417 Quan Nguyen 2016-02-17 137 fwspec.param_count = 2;
1013fc417 Quan Nguyen 2016-02-17 138 fwspec.param[0] = GPIO_TO_HWIRQ(priv, gpio);
1013fc417 Quan Nguyen 2016-02-17 139 fwspec.param[1] = IRQ_TYPE_NONE;
1013fc417 Quan Nguyen 2016-02-17 140 return irq_create_fwspec_mapping(&fwspec);
1013fc417 Quan Nguyen 2016-02-17 141 }
1013fc417 Quan Nguyen 2016-02-17 142
1013fc417 Quan Nguyen 2016-02-17 143 static void xgene_gpio_sb_domain_activate(struct irq_domain *d,
1013fc417 Quan Nguyen 2016-02-17 144 struct irq_data *irq_data)
1013fc417 Quan Nguyen 2016-02-17 145 {
1013fc417 Quan Nguyen 2016-02-17 146 struct xgene_gpio_sb *priv = d->host_data;
1013fc417 Quan Nguyen 2016-02-17 147 u32 gpio = HWIRQ_TO_GPIO(priv, irq_data->hwirq);
1013fc417 Quan Nguyen 2016-02-17 148
1013fc417 Quan Nguyen 2016-02-17 149 if (gpiochip_lock_as_irq(&priv->gc, gpio)) {
1013fc417 Quan Nguyen 2016-02-17 150 dev_err(priv->gc.parent,
1013fc417 Quan Nguyen 2016-02-17 151 "Unable to configure XGene GPIO standby pin %d as IRQ\n",
1013fc417 Quan Nguyen 2016-02-17 152 gpio);
1013fc417 Quan Nguyen 2016-02-17 153 return;
1013fc417 Quan Nguyen 2016-02-17 154 }
1013fc417 Quan Nguyen 2016-02-17 155
1013fc417 Quan Nguyen 2016-02-17 156 xgene_gpio_set_bit(&priv->gc, priv->regs + MPA_GPIO_SEL_LO,
1013fc417 Quan Nguyen 2016-02-17 157 gpio * 2, 1);
1013fc417 Quan Nguyen 2016-02-17 158 }
1013fc417 Quan Nguyen 2016-02-17 159
1013fc417 Quan Nguyen 2016-02-17 160 static void xgene_gpio_sb_domain_deactivate(struct irq_domain *d,
1013fc417 Quan Nguyen 2016-02-17 161 struct irq_data *irq_data)
1013fc417 Quan Nguyen 2016-02-17 162 {
1013fc417 Quan Nguyen 2016-02-17 163 struct xgene_gpio_sb *priv = d->host_data;
1013fc417 Quan Nguyen 2016-02-17 164 u32 gpio = HWIRQ_TO_GPIO(priv, irq_data->hwirq);
1013fc417 Quan Nguyen 2016-02-17 165
1013fc417 Quan Nguyen 2016-02-17 166 gpiochip_unlock_as_irq(&priv->gc, gpio);
1013fc417 Quan Nguyen 2016-02-17 167 xgene_gpio_set_bit(&priv->gc, priv->regs + MPA_GPIO_SEL_LO,
1013fc417 Quan Nguyen 2016-02-17 168 gpio * 2, 0);
1013fc417 Quan Nguyen 2016-02-17 169 }
1013fc417 Quan Nguyen 2016-02-17 170
1013fc417 Quan Nguyen 2016-02-17 171 static int xgene_gpio_sb_domain_translate(struct irq_domain *d,
1013fc417 Quan Nguyen 2016-02-17 172 struct irq_fwspec *fwspec,
1013fc417 Quan Nguyen 2016-02-17 173 unsigned long *hwirq,
1013fc417 Quan Nguyen 2016-02-17 174 unsigned int *type)
1013fc417 Quan Nguyen 2016-02-17 175 {
1013fc417 Quan Nguyen 2016-02-17 176 struct xgene_gpio_sb *priv = d->host_data;
1013fc417 Quan Nguyen 2016-02-17 177
1013fc417 Quan Nguyen 2016-02-17 178 if ((fwspec->param_count != 2) ||
1013fc417 Quan Nguyen 2016-02-17 179 (fwspec->param[0] >= priv->nirq))
1013fc417 Quan Nguyen 2016-02-17 180 return -EINVAL;
1013fc417 Quan Nguyen 2016-02-17 181 *hwirq = fwspec->param[0];
1013fc417 Quan Nguyen 2016-02-17 182 *type = fwspec->param[1];
1013fc417 Quan Nguyen 2016-02-17 183 return 0;
b2b35e108 Y Vo 2015-01-16 184 }
b2b35e108 Y Vo 2015-01-16 185
1013fc417 Quan Nguyen 2016-02-17 186 static int xgene_gpio_sb_domain_alloc(struct irq_domain *domain,
1013fc417 Quan Nguyen 2016-02-17 187 unsigned int virq,
1013fc417 Quan Nguyen 2016-02-17 188 unsigned int nr_irqs, void *data)
1013fc417 Quan Nguyen 2016-02-17 189 {
1013fc417 Quan Nguyen 2016-02-17 190 struct irq_fwspec *fwspec = data;
1013fc417 Quan Nguyen 2016-02-17 191 struct irq_fwspec parent_fwspec;
1013fc417 Quan Nguyen 2016-02-17 192 struct xgene_gpio_sb *priv = domain->host_data;
1013fc417 Quan Nguyen 2016-02-17 193 irq_hw_number_t hwirq;
1013fc417 Quan Nguyen 2016-02-17 194 unsigned int i;
1013fc417 Quan Nguyen 2016-02-17 195
1013fc417 Quan Nguyen 2016-02-17 196 hwirq = fwspec->param[0];
1013fc417 Quan Nguyen 2016-02-17 197 for (i = 0; i < nr_irqs; i++)
1013fc417 Quan Nguyen 2016-02-17 @198 irq_domain_set_hwirq_and_chip(domain, virq + i, hwirq + i,
1013fc417 Quan Nguyen 2016-02-17 199 &xgene_gpio_sb_irq_chip, priv);
1013fc417 Quan Nguyen 2016-02-17 200
1013fc417 Quan Nguyen 2016-02-17 @201 parent_fwspec.fwnode = domain->parent->fwnode;
1013fc417 Quan Nguyen 2016-02-17 202 if (is_of_node(parent_fwspec.fwnode)) {
1013fc417 Quan Nguyen 2016-02-17 203 parent_fwspec.param_count = 3;
1013fc417 Quan Nguyen 2016-02-17 204 parent_fwspec.param[0] = 0;/* SPI */
1013fc417 Quan Nguyen 2016-02-17 205 /* Skip SGIs and PPIs*/
1013fc417 Quan Nguyen 2016-02-17 206 parent_fwspec.param[1] = hwirq + priv->parent_irq_base - 32;
1013fc417 Quan Nguyen 2016-02-17 207 parent_fwspec.param[2] = fwspec->param[1];
1013fc417 Quan Nguyen 2016-02-17 208 } else if (is_fwnode_irqchip(parent_fwspec.fwnode)) {
1013fc417 Quan Nguyen 2016-02-17 209 parent_fwspec.param_count = 2;
1013fc417 Quan Nguyen 2016-02-17 210 parent_fwspec.param[0] = hwirq + priv->parent_irq_base;
1013fc417 Quan Nguyen 2016-02-17 211 parent_fwspec.param[1] = fwspec->param[1];
1013fc417 Quan Nguyen 2016-02-17 212 } else
1013fc417 Quan Nguyen 2016-02-17 213 return -EINVAL;
1013fc417 Quan Nguyen 2016-02-17 214
1013fc417 Quan Nguyen 2016-02-17 @215 return irq_domain_alloc_irqs_parent(domain, virq, nr_irqs,
1013fc417 Quan Nguyen 2016-02-17 216 &parent_fwspec);
1013fc417 Quan Nguyen 2016-02-17 217 }
1013fc417 Quan Nguyen 2016-02-17 218
1013fc417 Quan Nguyen 2016-02-17 219 static const struct irq_domain_ops xgene_gpio_sb_domain_ops = {
1013fc417 Quan Nguyen 2016-02-17 @220 .translate = xgene_gpio_sb_domain_translate,
1013fc417 Quan Nguyen 2016-02-17 @221 .alloc = xgene_gpio_sb_domain_alloc,
c6cc75fec Axel Lin 2016-03-17 @222 .free = irq_domain_free_irqs_common,
1013fc417 Quan Nguyen 2016-02-17 @223 .activate = xgene_gpio_sb_domain_activate,
1013fc417 Quan Nguyen 2016-02-17 @224 .deactivate = xgene_gpio_sb_domain_deactivate,
1013fc417 Quan Nguyen 2016-02-17 225 };
1013fc417 Quan Nguyen 2016-02-17 226
b2b35e108 Y Vo 2015-01-16 227 static int xgene_gpio_sb_probe(struct platform_device *pdev)
b2b35e108 Y Vo 2015-01-16 228 {
b2b35e108 Y Vo 2015-01-16 229 struct xgene_gpio_sb *priv;
67ebb742b Andrzej Hajda 2016-02-23 230 int ret;
b2b35e108 Y Vo 2015-01-16 231 struct resource *res;
b2b35e108 Y Vo 2015-01-16 232 void __iomem *regs;
1013fc417 Quan Nguyen 2016-02-17 233 struct irq_domain *parent_domain = NULL;
1013fc417 Quan Nguyen 2016-02-17 234 struct fwnode_handle *fwnode;
1013fc417 Quan Nguyen 2016-02-17 235 u32 val32;
b2b35e108 Y Vo 2015-01-16 236
b2b35e108 Y Vo 2015-01-16 237 priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
b2b35e108 Y Vo 2015-01-16 238 if (!priv)
b2b35e108 Y Vo 2015-01-16 239 return -ENOMEM;
b2b35e108 Y Vo 2015-01-16 240
b2b35e108 Y Vo 2015-01-16 241 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
b2b35e108 Y Vo 2015-01-16 242 regs = devm_ioremap_resource(&pdev->dev, res);
33c07b467 Vladimir Zapolskiy 2015-03-29 243 if (IS_ERR(regs))
b2b35e108 Y Vo 2015-01-16 244 return PTR_ERR(regs);
b2b35e108 Y Vo 2015-01-16 245
1013fc417 Quan Nguyen 2016-02-17 246 priv->regs = regs;
1013fc417 Quan Nguyen 2016-02-17 247
1013fc417 Quan Nguyen 2016-02-17 248 ret = platform_get_irq(pdev, 0);
1013fc417 Quan Nguyen 2016-02-17 249 if (ret > 0) {
1013fc417 Quan Nguyen 2016-02-17 250 priv->parent_irq_base = irq_get_irq_data(ret)->hwirq;
1013fc417 Quan Nguyen 2016-02-17 251 parent_domain = irq_get_irq_data(ret)->domain;
1013fc417 Quan Nguyen 2016-02-17 252 }
1013fc417 Quan Nguyen 2016-02-17 253 if (!parent_domain) {
1013fc417 Quan Nguyen 2016-02-17 254 dev_err(&pdev->dev, "unable to obtain parent domain\n");
1013fc417 Quan Nguyen 2016-02-17 255 return -ENODEV;
1013fc417 Quan Nguyen 2016-02-17 256 }
1013fc417 Quan Nguyen 2016-02-17 257
0f4630f37 Linus Walleij 2015-12-04 258 ret = bgpio_init(&priv->gc, &pdev->dev, 4,
b2b35e108 Y Vo 2015-01-16 259 regs + MPA_GPIO_IN_ADDR,
b2b35e108 Y Vo 2015-01-16 260 regs + MPA_GPIO_OUT_ADDR, NULL,
b2b35e108 Y Vo 2015-01-16 261 regs + MPA_GPIO_OE_ADDR, NULL, 0);
b2b35e108 Y Vo 2015-01-16 262 if (ret)
b2b35e108 Y Vo 2015-01-16 263 return ret;
b2b35e108 Y Vo 2015-01-16 264
1013fc417 Quan Nguyen 2016-02-17 265 priv->gc.to_irq = xgene_gpio_sb_to_irq;
b2b35e108 Y Vo 2015-01-16 266
1013fc417 Quan Nguyen 2016-02-17 267 /* Retrieve start irq pin, use default if property not found */
1013fc417 Quan Nguyen 2016-02-17 268 priv->irq_start = XGENE_DFLT_IRQ_START_PIN;
1013fc417 Quan Nguyen 2016-02-17 269 if (!device_property_read_u32(&pdev->dev,
1013fc417 Quan Nguyen 2016-02-17 270 XGENE_IRQ_START_PROPERTY, &val32))
1013fc417 Quan Nguyen 2016-02-17 271 priv->irq_start = val32;
b2b35e108 Y Vo 2015-01-16 272
1013fc417 Quan Nguyen 2016-02-17 273 /* Retrieve number irqs, use default if property not found */
1013fc417 Quan Nguyen 2016-02-17 274 priv->nirq = XGENE_DFLT_MAX_NIRQ;
1013fc417 Quan Nguyen 2016-02-17 275 if (!device_property_read_u32(&pdev->dev, XGENE_NIRQ_PROPERTY, &val32))
1013fc417 Quan Nguyen 2016-02-17 276 priv->nirq = val32;
b2b35e108 Y Vo 2015-01-16 277
1013fc417 Quan Nguyen 2016-02-17 278 /* Retrieve number gpio, use default if property not found */
1013fc417 Quan Nguyen 2016-02-17 279 priv->gc.ngpio = XGENE_DFLT_MAX_NGPIO;
1013fc417 Quan Nguyen 2016-02-17 280 if (!device_property_read_u32(&pdev->dev, XGENE_NGPIO_PROPERTY, &val32))
1013fc417 Quan Nguyen 2016-02-17 281 priv->gc.ngpio = val32;
1013fc417 Quan Nguyen 2016-02-17 282
1013fc417 Quan Nguyen 2016-02-17 283 dev_info(&pdev->dev, "Support %d gpios, %d irqs start from pin %d\n",
1013fc417 Quan Nguyen 2016-02-17 284 priv->gc.ngpio, priv->nirq, priv->irq_start);
b2b35e108 Y Vo 2015-01-16 285
b2b35e108 Y Vo 2015-01-16 286 platform_set_drvdata(pdev, priv);
b2b35e108 Y Vo 2015-01-16 287
1013fc417 Quan Nguyen 2016-02-17 288 if (pdev->dev.of_node)
1013fc417 Quan Nguyen 2016-02-17 289 fwnode = of_node_to_fwnode(pdev->dev.of_node);
b2b35e108 Y Vo 2015-01-16 290 else
1013fc417 Quan Nguyen 2016-02-17 291 fwnode = pdev->dev.fwnode;
1013fc417 Quan Nguyen 2016-02-17 292
1013fc417 Quan Nguyen 2016-02-17 @293 priv->irq_domain = irq_domain_create_hierarchy(parent_domain,
1013fc417 Quan Nguyen 2016-02-17 294 0, priv->nirq, fwnode,
1013fc417 Quan Nguyen 2016-02-17 295 &xgene_gpio_sb_domain_ops, priv);
1013fc417 Quan Nguyen 2016-02-17 296 if (!priv->irq_domain)
:::::: The code at line 111 was first introduced by commit
:::::: 1013fc417cc15ead7c3a9091a47617f357db71a4 gpio: xgene: Enable X-Gene standby GPIO as interrupt controller
:::::: TO: Quan Nguyen <qnguyen@apm.com>
:::::: CC: Linus Walleij <linus.walleij@linaro.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 45764 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
Cc: kbuild-all@01.org, davem@davemloft.net, netdev@vger.kernel.org,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
patches@apm.com, linux@armlinux.org.uk,
Iyappan Subramanian <isubramanian@apm.com>,
Quan Nguyen <qnguyen@apm.com>
Subject: Re: [PATCH net-next 08/10] drivers: net: xgene: Poll link status via GPIO
Date: Sat, 30 Jul 2016 12:32:35 +0800 [thread overview]
Message-ID: <201607301242.96Hv3p6V%fengguang.wu@intel.com> (raw)
In-Reply-To: <1469838843-19943-9-git-send-email-isubramanian@apm.com>
[-- Attachment #1: Type: text/plain, Size: 19312 bytes --]
Hi,
[auto build test ERROR on net-next/master]
url: https://github.com/0day-ci/linux/commits/Iyappan-Subramanian/Fix-warning-and-issues/20160730-083713
config: xtensa-allmodconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 4.9.0
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
# save the attached .config to linux build tree
make.cross ARCH=xtensa
All error/warnings (new ones prefixed by >>):
drivers/gpio/gpio-xgene-sb.c: In function 'xgene_gpio_sb_irq_set_type':
>> drivers/gpio/gpio-xgene-sb.c:111:3: error: implicit declaration of function 'irq_chip_set_type_parent' [-Werror=implicit-function-declaration]
return irq_chip_set_type_parent(d, IRQ_TYPE_EDGE_RISING);
^
drivers/gpio/gpio-xgene-sb.c: At top level:
>> drivers/gpio/gpio-xgene-sb.c:118:13: error: 'irq_chip_eoi_parent' undeclared here (not in a function)
.irq_eoi = irq_chip_eoi_parent,
^
>> drivers/gpio/gpio-xgene-sb.c:119:20: error: 'irq_chip_mask_parent' undeclared here (not in a function)
.irq_mask = irq_chip_mask_parent,
^
>> drivers/gpio/gpio-xgene-sb.c:120:20: error: 'irq_chip_unmask_parent' undeclared here (not in a function)
.irq_unmask = irq_chip_unmask_parent,
^
drivers/gpio/gpio-xgene-sb.c: In function 'xgene_gpio_sb_domain_alloc':
>> drivers/gpio/gpio-xgene-sb.c:198:3: error: implicit declaration of function 'irq_domain_set_hwirq_and_chip' [-Werror=implicit-function-declaration]
irq_domain_set_hwirq_and_chip(domain, virq + i, hwirq + i,
^
>> drivers/gpio/gpio-xgene-sb.c:201:31: error: 'struct irq_domain' has no member named 'parent'
parent_fwspec.fwnode = domain->parent->fwnode;
^
>> drivers/gpio/gpio-xgene-sb.c:215:2: error: implicit declaration of function 'irq_domain_alloc_irqs_parent' [-Werror=implicit-function-declaration]
return irq_domain_alloc_irqs_parent(domain, virq, nr_irqs,
^
drivers/gpio/gpio-xgene-sb.c: At top level:
>> drivers/gpio/gpio-xgene-sb.c:220:2: error: unknown field 'translate' specified in initializer
.translate = xgene_gpio_sb_domain_translate,
^
>> drivers/gpio/gpio-xgene-sb.c:220:2: warning: initialization from incompatible pointer type
drivers/gpio/gpio-xgene-sb.c:220:2: warning: (near initialization for 'xgene_gpio_sb_domain_ops.match')
>> drivers/gpio/gpio-xgene-sb.c:221:2: error: unknown field 'alloc' specified in initializer
.alloc = xgene_gpio_sb_domain_alloc,
^
drivers/gpio/gpio-xgene-sb.c:221:2: warning: initialization from incompatible pointer type
drivers/gpio/gpio-xgene-sb.c:221:2: warning: (near initialization for 'xgene_gpio_sb_domain_ops.select')
>> drivers/gpio/gpio-xgene-sb.c:222:2: error: unknown field 'free' specified in initializer
.free = irq_domain_free_irqs_common,
^
>> drivers/gpio/gpio-xgene-sb.c:222:20: error: 'irq_domain_free_irqs_common' undeclared here (not in a function)
.free = irq_domain_free_irqs_common,
^
>> drivers/gpio/gpio-xgene-sb.c:223:2: error: unknown field 'activate' specified in initializer
.activate = xgene_gpio_sb_domain_activate,
^
drivers/gpio/gpio-xgene-sb.c:223:2: warning: initialization from incompatible pointer type
drivers/gpio/gpio-xgene-sb.c:223:2: warning: (near initialization for 'xgene_gpio_sb_domain_ops.unmap')
>> drivers/gpio/gpio-xgene-sb.c:224:2: error: unknown field 'deactivate' specified in initializer
.deactivate = xgene_gpio_sb_domain_deactivate,
^
drivers/gpio/gpio-xgene-sb.c:224:2: warning: initialization from incompatible pointer type
drivers/gpio/gpio-xgene-sb.c:224:2: warning: (near initialization for 'xgene_gpio_sb_domain_ops.xlate')
drivers/gpio/gpio-xgene-sb.c: In function 'xgene_gpio_sb_probe':
>> drivers/gpio/gpio-xgene-sb.c:293:2: error: implicit declaration of function 'irq_domain_create_hierarchy' [-Werror=implicit-function-declaration]
priv->irq_domain = irq_domain_create_hierarchy(parent_domain,
^
>> drivers/gpio/gpio-xgene-sb.c:293:19: warning: assignment makes pointer from integer without a cast
priv->irq_domain = irq_domain_create_hierarchy(parent_domain,
^
cc1: some warnings being treated as errors
vim +/irq_chip_set_type_parent +111 drivers/gpio/gpio-xgene-sb.c
1013fc417 Quan Nguyen 2016-02-17 105 gpio * 2, 1);
1013fc417 Quan Nguyen 2016-02-17 106 xgene_gpio_set_bit(&priv->gc, priv->regs + MPA_GPIO_INT_LVL,
1013fc417 Quan Nguyen 2016-02-17 107 d->hwirq, lvl_type);
1013fc417 Quan Nguyen 2016-02-17 108
1013fc417 Quan Nguyen 2016-02-17 109 /* Propagate IRQ type setting to parent */
1013fc417 Quan Nguyen 2016-02-17 110 if (type & IRQ_TYPE_EDGE_BOTH)
1013fc417 Quan Nguyen 2016-02-17 @111 return irq_chip_set_type_parent(d, IRQ_TYPE_EDGE_RISING);
1013fc417 Quan Nguyen 2016-02-17 112 else
1013fc417 Quan Nguyen 2016-02-17 113 return irq_chip_set_type_parent(d, IRQ_TYPE_LEVEL_HIGH);
1013fc417 Quan Nguyen 2016-02-17 114 }
1013fc417 Quan Nguyen 2016-02-17 115
1013fc417 Quan Nguyen 2016-02-17 116 static struct irq_chip xgene_gpio_sb_irq_chip = {
1013fc417 Quan Nguyen 2016-02-17 117 .name = "sbgpio",
1013fc417 Quan Nguyen 2016-02-17 @118 .irq_eoi = irq_chip_eoi_parent,
1013fc417 Quan Nguyen 2016-02-17 @119 .irq_mask = irq_chip_mask_parent,
1013fc417 Quan Nguyen 2016-02-17 @120 .irq_unmask = irq_chip_unmask_parent,
1013fc417 Quan Nguyen 2016-02-17 121 .irq_set_type = xgene_gpio_sb_irq_set_type,
1013fc417 Quan Nguyen 2016-02-17 122 };
b2b35e108 Y Vo 2015-01-16 123
1013fc417 Quan Nguyen 2016-02-17 124 static int xgene_gpio_sb_to_irq(struct gpio_chip *gc, u32 gpio)
1013fc417 Quan Nguyen 2016-02-17 125 {
1013fc417 Quan Nguyen 2016-02-17 126 struct xgene_gpio_sb *priv = gpiochip_get_data(gc);
1013fc417 Quan Nguyen 2016-02-17 127 struct irq_fwspec fwspec;
b2b35e108 Y Vo 2015-01-16 128
1013fc417 Quan Nguyen 2016-02-17 129 if ((gpio < priv->irq_start) ||
1013fc417 Quan Nguyen 2016-02-17 130 (gpio > HWIRQ_TO_GPIO(priv, priv->nirq)))
b2b35e108 Y Vo 2015-01-16 131 return -ENXIO;
1013fc417 Quan Nguyen 2016-02-17 132
1013fc417 Quan Nguyen 2016-02-17 133 if (gc->parent->of_node)
1013fc417 Quan Nguyen 2016-02-17 134 fwspec.fwnode = of_node_to_fwnode(gc->parent->of_node);
1013fc417 Quan Nguyen 2016-02-17 135 else
1013fc417 Quan Nguyen 2016-02-17 136 fwspec.fwnode = gc->parent->fwnode;
1013fc417 Quan Nguyen 2016-02-17 137 fwspec.param_count = 2;
1013fc417 Quan Nguyen 2016-02-17 138 fwspec.param[0] = GPIO_TO_HWIRQ(priv, gpio);
1013fc417 Quan Nguyen 2016-02-17 139 fwspec.param[1] = IRQ_TYPE_NONE;
1013fc417 Quan Nguyen 2016-02-17 140 return irq_create_fwspec_mapping(&fwspec);
1013fc417 Quan Nguyen 2016-02-17 141 }
1013fc417 Quan Nguyen 2016-02-17 142
1013fc417 Quan Nguyen 2016-02-17 143 static void xgene_gpio_sb_domain_activate(struct irq_domain *d,
1013fc417 Quan Nguyen 2016-02-17 144 struct irq_data *irq_data)
1013fc417 Quan Nguyen 2016-02-17 145 {
1013fc417 Quan Nguyen 2016-02-17 146 struct xgene_gpio_sb *priv = d->host_data;
1013fc417 Quan Nguyen 2016-02-17 147 u32 gpio = HWIRQ_TO_GPIO(priv, irq_data->hwirq);
1013fc417 Quan Nguyen 2016-02-17 148
1013fc417 Quan Nguyen 2016-02-17 149 if (gpiochip_lock_as_irq(&priv->gc, gpio)) {
1013fc417 Quan Nguyen 2016-02-17 150 dev_err(priv->gc.parent,
1013fc417 Quan Nguyen 2016-02-17 151 "Unable to configure XGene GPIO standby pin %d as IRQ\n",
1013fc417 Quan Nguyen 2016-02-17 152 gpio);
1013fc417 Quan Nguyen 2016-02-17 153 return;
1013fc417 Quan Nguyen 2016-02-17 154 }
1013fc417 Quan Nguyen 2016-02-17 155
1013fc417 Quan Nguyen 2016-02-17 156 xgene_gpio_set_bit(&priv->gc, priv->regs + MPA_GPIO_SEL_LO,
1013fc417 Quan Nguyen 2016-02-17 157 gpio * 2, 1);
1013fc417 Quan Nguyen 2016-02-17 158 }
1013fc417 Quan Nguyen 2016-02-17 159
1013fc417 Quan Nguyen 2016-02-17 160 static void xgene_gpio_sb_domain_deactivate(struct irq_domain *d,
1013fc417 Quan Nguyen 2016-02-17 161 struct irq_data *irq_data)
1013fc417 Quan Nguyen 2016-02-17 162 {
1013fc417 Quan Nguyen 2016-02-17 163 struct xgene_gpio_sb *priv = d->host_data;
1013fc417 Quan Nguyen 2016-02-17 164 u32 gpio = HWIRQ_TO_GPIO(priv, irq_data->hwirq);
1013fc417 Quan Nguyen 2016-02-17 165
1013fc417 Quan Nguyen 2016-02-17 166 gpiochip_unlock_as_irq(&priv->gc, gpio);
1013fc417 Quan Nguyen 2016-02-17 167 xgene_gpio_set_bit(&priv->gc, priv->regs + MPA_GPIO_SEL_LO,
1013fc417 Quan Nguyen 2016-02-17 168 gpio * 2, 0);
1013fc417 Quan Nguyen 2016-02-17 169 }
1013fc417 Quan Nguyen 2016-02-17 170
1013fc417 Quan Nguyen 2016-02-17 171 static int xgene_gpio_sb_domain_translate(struct irq_domain *d,
1013fc417 Quan Nguyen 2016-02-17 172 struct irq_fwspec *fwspec,
1013fc417 Quan Nguyen 2016-02-17 173 unsigned long *hwirq,
1013fc417 Quan Nguyen 2016-02-17 174 unsigned int *type)
1013fc417 Quan Nguyen 2016-02-17 175 {
1013fc417 Quan Nguyen 2016-02-17 176 struct xgene_gpio_sb *priv = d->host_data;
1013fc417 Quan Nguyen 2016-02-17 177
1013fc417 Quan Nguyen 2016-02-17 178 if ((fwspec->param_count != 2) ||
1013fc417 Quan Nguyen 2016-02-17 179 (fwspec->param[0] >= priv->nirq))
1013fc417 Quan Nguyen 2016-02-17 180 return -EINVAL;
1013fc417 Quan Nguyen 2016-02-17 181 *hwirq = fwspec->param[0];
1013fc417 Quan Nguyen 2016-02-17 182 *type = fwspec->param[1];
1013fc417 Quan Nguyen 2016-02-17 183 return 0;
b2b35e108 Y Vo 2015-01-16 184 }
b2b35e108 Y Vo 2015-01-16 185
1013fc417 Quan Nguyen 2016-02-17 186 static int xgene_gpio_sb_domain_alloc(struct irq_domain *domain,
1013fc417 Quan Nguyen 2016-02-17 187 unsigned int virq,
1013fc417 Quan Nguyen 2016-02-17 188 unsigned int nr_irqs, void *data)
1013fc417 Quan Nguyen 2016-02-17 189 {
1013fc417 Quan Nguyen 2016-02-17 190 struct irq_fwspec *fwspec = data;
1013fc417 Quan Nguyen 2016-02-17 191 struct irq_fwspec parent_fwspec;
1013fc417 Quan Nguyen 2016-02-17 192 struct xgene_gpio_sb *priv = domain->host_data;
1013fc417 Quan Nguyen 2016-02-17 193 irq_hw_number_t hwirq;
1013fc417 Quan Nguyen 2016-02-17 194 unsigned int i;
1013fc417 Quan Nguyen 2016-02-17 195
1013fc417 Quan Nguyen 2016-02-17 196 hwirq = fwspec->param[0];
1013fc417 Quan Nguyen 2016-02-17 197 for (i = 0; i < nr_irqs; i++)
1013fc417 Quan Nguyen 2016-02-17 @198 irq_domain_set_hwirq_and_chip(domain, virq + i, hwirq + i,
1013fc417 Quan Nguyen 2016-02-17 199 &xgene_gpio_sb_irq_chip, priv);
1013fc417 Quan Nguyen 2016-02-17 200
1013fc417 Quan Nguyen 2016-02-17 @201 parent_fwspec.fwnode = domain->parent->fwnode;
1013fc417 Quan Nguyen 2016-02-17 202 if (is_of_node(parent_fwspec.fwnode)) {
1013fc417 Quan Nguyen 2016-02-17 203 parent_fwspec.param_count = 3;
1013fc417 Quan Nguyen 2016-02-17 204 parent_fwspec.param[0] = 0;/* SPI */
1013fc417 Quan Nguyen 2016-02-17 205 /* Skip SGIs and PPIs*/
1013fc417 Quan Nguyen 2016-02-17 206 parent_fwspec.param[1] = hwirq + priv->parent_irq_base - 32;
1013fc417 Quan Nguyen 2016-02-17 207 parent_fwspec.param[2] = fwspec->param[1];
1013fc417 Quan Nguyen 2016-02-17 208 } else if (is_fwnode_irqchip(parent_fwspec.fwnode)) {
1013fc417 Quan Nguyen 2016-02-17 209 parent_fwspec.param_count = 2;
1013fc417 Quan Nguyen 2016-02-17 210 parent_fwspec.param[0] = hwirq + priv->parent_irq_base;
1013fc417 Quan Nguyen 2016-02-17 211 parent_fwspec.param[1] = fwspec->param[1];
1013fc417 Quan Nguyen 2016-02-17 212 } else
1013fc417 Quan Nguyen 2016-02-17 213 return -EINVAL;
1013fc417 Quan Nguyen 2016-02-17 214
1013fc417 Quan Nguyen 2016-02-17 @215 return irq_domain_alloc_irqs_parent(domain, virq, nr_irqs,
1013fc417 Quan Nguyen 2016-02-17 216 &parent_fwspec);
1013fc417 Quan Nguyen 2016-02-17 217 }
1013fc417 Quan Nguyen 2016-02-17 218
1013fc417 Quan Nguyen 2016-02-17 219 static const struct irq_domain_ops xgene_gpio_sb_domain_ops = {
1013fc417 Quan Nguyen 2016-02-17 @220 .translate = xgene_gpio_sb_domain_translate,
1013fc417 Quan Nguyen 2016-02-17 @221 .alloc = xgene_gpio_sb_domain_alloc,
c6cc75fec Axel Lin 2016-03-17 @222 .free = irq_domain_free_irqs_common,
1013fc417 Quan Nguyen 2016-02-17 @223 .activate = xgene_gpio_sb_domain_activate,
1013fc417 Quan Nguyen 2016-02-17 @224 .deactivate = xgene_gpio_sb_domain_deactivate,
1013fc417 Quan Nguyen 2016-02-17 225 };
1013fc417 Quan Nguyen 2016-02-17 226
b2b35e108 Y Vo 2015-01-16 227 static int xgene_gpio_sb_probe(struct platform_device *pdev)
b2b35e108 Y Vo 2015-01-16 228 {
b2b35e108 Y Vo 2015-01-16 229 struct xgene_gpio_sb *priv;
67ebb742b Andrzej Hajda 2016-02-23 230 int ret;
b2b35e108 Y Vo 2015-01-16 231 struct resource *res;
b2b35e108 Y Vo 2015-01-16 232 void __iomem *regs;
1013fc417 Quan Nguyen 2016-02-17 233 struct irq_domain *parent_domain = NULL;
1013fc417 Quan Nguyen 2016-02-17 234 struct fwnode_handle *fwnode;
1013fc417 Quan Nguyen 2016-02-17 235 u32 val32;
b2b35e108 Y Vo 2015-01-16 236
b2b35e108 Y Vo 2015-01-16 237 priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
b2b35e108 Y Vo 2015-01-16 238 if (!priv)
b2b35e108 Y Vo 2015-01-16 239 return -ENOMEM;
b2b35e108 Y Vo 2015-01-16 240
b2b35e108 Y Vo 2015-01-16 241 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
b2b35e108 Y Vo 2015-01-16 242 regs = devm_ioremap_resource(&pdev->dev, res);
33c07b467 Vladimir Zapolskiy 2015-03-29 243 if (IS_ERR(regs))
b2b35e108 Y Vo 2015-01-16 244 return PTR_ERR(regs);
b2b35e108 Y Vo 2015-01-16 245
1013fc417 Quan Nguyen 2016-02-17 246 priv->regs = regs;
1013fc417 Quan Nguyen 2016-02-17 247
1013fc417 Quan Nguyen 2016-02-17 248 ret = platform_get_irq(pdev, 0);
1013fc417 Quan Nguyen 2016-02-17 249 if (ret > 0) {
1013fc417 Quan Nguyen 2016-02-17 250 priv->parent_irq_base = irq_get_irq_data(ret)->hwirq;
1013fc417 Quan Nguyen 2016-02-17 251 parent_domain = irq_get_irq_data(ret)->domain;
1013fc417 Quan Nguyen 2016-02-17 252 }
1013fc417 Quan Nguyen 2016-02-17 253 if (!parent_domain) {
1013fc417 Quan Nguyen 2016-02-17 254 dev_err(&pdev->dev, "unable to obtain parent domain\n");
1013fc417 Quan Nguyen 2016-02-17 255 return -ENODEV;
1013fc417 Quan Nguyen 2016-02-17 256 }
1013fc417 Quan Nguyen 2016-02-17 257
0f4630f37 Linus Walleij 2015-12-04 258 ret = bgpio_init(&priv->gc, &pdev->dev, 4,
b2b35e108 Y Vo 2015-01-16 259 regs + MPA_GPIO_IN_ADDR,
b2b35e108 Y Vo 2015-01-16 260 regs + MPA_GPIO_OUT_ADDR, NULL,
b2b35e108 Y Vo 2015-01-16 261 regs + MPA_GPIO_OE_ADDR, NULL, 0);
b2b35e108 Y Vo 2015-01-16 262 if (ret)
b2b35e108 Y Vo 2015-01-16 263 return ret;
b2b35e108 Y Vo 2015-01-16 264
1013fc417 Quan Nguyen 2016-02-17 265 priv->gc.to_irq = xgene_gpio_sb_to_irq;
b2b35e108 Y Vo 2015-01-16 266
1013fc417 Quan Nguyen 2016-02-17 267 /* Retrieve start irq pin, use default if property not found */
1013fc417 Quan Nguyen 2016-02-17 268 priv->irq_start = XGENE_DFLT_IRQ_START_PIN;
1013fc417 Quan Nguyen 2016-02-17 269 if (!device_property_read_u32(&pdev->dev,
1013fc417 Quan Nguyen 2016-02-17 270 XGENE_IRQ_START_PROPERTY, &val32))
1013fc417 Quan Nguyen 2016-02-17 271 priv->irq_start = val32;
b2b35e108 Y Vo 2015-01-16 272
1013fc417 Quan Nguyen 2016-02-17 273 /* Retrieve number irqs, use default if property not found */
1013fc417 Quan Nguyen 2016-02-17 274 priv->nirq = XGENE_DFLT_MAX_NIRQ;
1013fc417 Quan Nguyen 2016-02-17 275 if (!device_property_read_u32(&pdev->dev, XGENE_NIRQ_PROPERTY, &val32))
1013fc417 Quan Nguyen 2016-02-17 276 priv->nirq = val32;
b2b35e108 Y Vo 2015-01-16 277
1013fc417 Quan Nguyen 2016-02-17 278 /* Retrieve number gpio, use default if property not found */
1013fc417 Quan Nguyen 2016-02-17 279 priv->gc.ngpio = XGENE_DFLT_MAX_NGPIO;
1013fc417 Quan Nguyen 2016-02-17 280 if (!device_property_read_u32(&pdev->dev, XGENE_NGPIO_PROPERTY, &val32))
1013fc417 Quan Nguyen 2016-02-17 281 priv->gc.ngpio = val32;
1013fc417 Quan Nguyen 2016-02-17 282
1013fc417 Quan Nguyen 2016-02-17 283 dev_info(&pdev->dev, "Support %d gpios, %d irqs start from pin %d\n",
1013fc417 Quan Nguyen 2016-02-17 284 priv->gc.ngpio, priv->nirq, priv->irq_start);
b2b35e108 Y Vo 2015-01-16 285
b2b35e108 Y Vo 2015-01-16 286 platform_set_drvdata(pdev, priv);
b2b35e108 Y Vo 2015-01-16 287
1013fc417 Quan Nguyen 2016-02-17 288 if (pdev->dev.of_node)
1013fc417 Quan Nguyen 2016-02-17 289 fwnode = of_node_to_fwnode(pdev->dev.of_node);
b2b35e108 Y Vo 2015-01-16 290 else
1013fc417 Quan Nguyen 2016-02-17 291 fwnode = pdev->dev.fwnode;
1013fc417 Quan Nguyen 2016-02-17 292
1013fc417 Quan Nguyen 2016-02-17 @293 priv->irq_domain = irq_domain_create_hierarchy(parent_domain,
1013fc417 Quan Nguyen 2016-02-17 294 0, priv->nirq, fwnode,
1013fc417 Quan Nguyen 2016-02-17 295 &xgene_gpio_sb_domain_ops, priv);
1013fc417 Quan Nguyen 2016-02-17 296 if (!priv->irq_domain)
:::::: The code at line 111 was first introduced by commit
:::::: 1013fc417cc15ead7c3a9091a47617f357db71a4 gpio: xgene: Enable X-Gene standby GPIO as interrupt controller
:::::: TO: Quan Nguyen <qnguyen@apm.com>
:::::: CC: Linus Walleij <linus.walleij@linaro.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 45764 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: lkp@intel.com (kbuild test robot)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH net-next 08/10] drivers: net: xgene: Poll link status via GPIO
Date: Sat, 30 Jul 2016 12:32:35 +0800 [thread overview]
Message-ID: <201607301242.96Hv3p6V%fengguang.wu@intel.com> (raw)
In-Reply-To: <1469838843-19943-9-git-send-email-isubramanian@apm.com>
Hi,
[auto build test ERROR on net-next/master]
url: https://github.com/0day-ci/linux/commits/Iyappan-Subramanian/Fix-warning-and-issues/20160730-083713
config: xtensa-allmodconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 4.9.0
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
# save the attached .config to linux build tree
make.cross ARCH=xtensa
All error/warnings (new ones prefixed by >>):
drivers/gpio/gpio-xgene-sb.c: In function 'xgene_gpio_sb_irq_set_type':
>> drivers/gpio/gpio-xgene-sb.c:111:3: error: implicit declaration of function 'irq_chip_set_type_parent' [-Werror=implicit-function-declaration]
return irq_chip_set_type_parent(d, IRQ_TYPE_EDGE_RISING);
^
drivers/gpio/gpio-xgene-sb.c: At top level:
>> drivers/gpio/gpio-xgene-sb.c:118:13: error: 'irq_chip_eoi_parent' undeclared here (not in a function)
.irq_eoi = irq_chip_eoi_parent,
^
>> drivers/gpio/gpio-xgene-sb.c:119:20: error: 'irq_chip_mask_parent' undeclared here (not in a function)
.irq_mask = irq_chip_mask_parent,
^
>> drivers/gpio/gpio-xgene-sb.c:120:20: error: 'irq_chip_unmask_parent' undeclared here (not in a function)
.irq_unmask = irq_chip_unmask_parent,
^
drivers/gpio/gpio-xgene-sb.c: In function 'xgene_gpio_sb_domain_alloc':
>> drivers/gpio/gpio-xgene-sb.c:198:3: error: implicit declaration of function 'irq_domain_set_hwirq_and_chip' [-Werror=implicit-function-declaration]
irq_domain_set_hwirq_and_chip(domain, virq + i, hwirq + i,
^
>> drivers/gpio/gpio-xgene-sb.c:201:31: error: 'struct irq_domain' has no member named 'parent'
parent_fwspec.fwnode = domain->parent->fwnode;
^
>> drivers/gpio/gpio-xgene-sb.c:215:2: error: implicit declaration of function 'irq_domain_alloc_irqs_parent' [-Werror=implicit-function-declaration]
return irq_domain_alloc_irqs_parent(domain, virq, nr_irqs,
^
drivers/gpio/gpio-xgene-sb.c: At top level:
>> drivers/gpio/gpio-xgene-sb.c:220:2: error: unknown field 'translate' specified in initializer
.translate = xgene_gpio_sb_domain_translate,
^
>> drivers/gpio/gpio-xgene-sb.c:220:2: warning: initialization from incompatible pointer type
drivers/gpio/gpio-xgene-sb.c:220:2: warning: (near initialization for 'xgene_gpio_sb_domain_ops.match')
>> drivers/gpio/gpio-xgene-sb.c:221:2: error: unknown field 'alloc' specified in initializer
.alloc = xgene_gpio_sb_domain_alloc,
^
drivers/gpio/gpio-xgene-sb.c:221:2: warning: initialization from incompatible pointer type
drivers/gpio/gpio-xgene-sb.c:221:2: warning: (near initialization for 'xgene_gpio_sb_domain_ops.select')
>> drivers/gpio/gpio-xgene-sb.c:222:2: error: unknown field 'free' specified in initializer
.free = irq_domain_free_irqs_common,
^
>> drivers/gpio/gpio-xgene-sb.c:222:20: error: 'irq_domain_free_irqs_common' undeclared here (not in a function)
.free = irq_domain_free_irqs_common,
^
>> drivers/gpio/gpio-xgene-sb.c:223:2: error: unknown field 'activate' specified in initializer
.activate = xgene_gpio_sb_domain_activate,
^
drivers/gpio/gpio-xgene-sb.c:223:2: warning: initialization from incompatible pointer type
drivers/gpio/gpio-xgene-sb.c:223:2: warning: (near initialization for 'xgene_gpio_sb_domain_ops.unmap')
>> drivers/gpio/gpio-xgene-sb.c:224:2: error: unknown field 'deactivate' specified in initializer
.deactivate = xgene_gpio_sb_domain_deactivate,
^
drivers/gpio/gpio-xgene-sb.c:224:2: warning: initialization from incompatible pointer type
drivers/gpio/gpio-xgene-sb.c:224:2: warning: (near initialization for 'xgene_gpio_sb_domain_ops.xlate')
drivers/gpio/gpio-xgene-sb.c: In function 'xgene_gpio_sb_probe':
>> drivers/gpio/gpio-xgene-sb.c:293:2: error: implicit declaration of function 'irq_domain_create_hierarchy' [-Werror=implicit-function-declaration]
priv->irq_domain = irq_domain_create_hierarchy(parent_domain,
^
>> drivers/gpio/gpio-xgene-sb.c:293:19: warning: assignment makes pointer from integer without a cast
priv->irq_domain = irq_domain_create_hierarchy(parent_domain,
^
cc1: some warnings being treated as errors
vim +/irq_chip_set_type_parent +111 drivers/gpio/gpio-xgene-sb.c
1013fc417 Quan Nguyen 2016-02-17 105 gpio * 2, 1);
1013fc417 Quan Nguyen 2016-02-17 106 xgene_gpio_set_bit(&priv->gc, priv->regs + MPA_GPIO_INT_LVL,
1013fc417 Quan Nguyen 2016-02-17 107 d->hwirq, lvl_type);
1013fc417 Quan Nguyen 2016-02-17 108
1013fc417 Quan Nguyen 2016-02-17 109 /* Propagate IRQ type setting to parent */
1013fc417 Quan Nguyen 2016-02-17 110 if (type & IRQ_TYPE_EDGE_BOTH)
1013fc417 Quan Nguyen 2016-02-17 @111 return irq_chip_set_type_parent(d, IRQ_TYPE_EDGE_RISING);
1013fc417 Quan Nguyen 2016-02-17 112 else
1013fc417 Quan Nguyen 2016-02-17 113 return irq_chip_set_type_parent(d, IRQ_TYPE_LEVEL_HIGH);
1013fc417 Quan Nguyen 2016-02-17 114 }
1013fc417 Quan Nguyen 2016-02-17 115
1013fc417 Quan Nguyen 2016-02-17 116 static struct irq_chip xgene_gpio_sb_irq_chip = {
1013fc417 Quan Nguyen 2016-02-17 117 .name = "sbgpio",
1013fc417 Quan Nguyen 2016-02-17 @118 .irq_eoi = irq_chip_eoi_parent,
1013fc417 Quan Nguyen 2016-02-17 @119 .irq_mask = irq_chip_mask_parent,
1013fc417 Quan Nguyen 2016-02-17 @120 .irq_unmask = irq_chip_unmask_parent,
1013fc417 Quan Nguyen 2016-02-17 121 .irq_set_type = xgene_gpio_sb_irq_set_type,
1013fc417 Quan Nguyen 2016-02-17 122 };
b2b35e108 Y Vo 2015-01-16 123
1013fc417 Quan Nguyen 2016-02-17 124 static int xgene_gpio_sb_to_irq(struct gpio_chip *gc, u32 gpio)
1013fc417 Quan Nguyen 2016-02-17 125 {
1013fc417 Quan Nguyen 2016-02-17 126 struct xgene_gpio_sb *priv = gpiochip_get_data(gc);
1013fc417 Quan Nguyen 2016-02-17 127 struct irq_fwspec fwspec;
b2b35e108 Y Vo 2015-01-16 128
1013fc417 Quan Nguyen 2016-02-17 129 if ((gpio < priv->irq_start) ||
1013fc417 Quan Nguyen 2016-02-17 130 (gpio > HWIRQ_TO_GPIO(priv, priv->nirq)))
b2b35e108 Y Vo 2015-01-16 131 return -ENXIO;
1013fc417 Quan Nguyen 2016-02-17 132
1013fc417 Quan Nguyen 2016-02-17 133 if (gc->parent->of_node)
1013fc417 Quan Nguyen 2016-02-17 134 fwspec.fwnode = of_node_to_fwnode(gc->parent->of_node);
1013fc417 Quan Nguyen 2016-02-17 135 else
1013fc417 Quan Nguyen 2016-02-17 136 fwspec.fwnode = gc->parent->fwnode;
1013fc417 Quan Nguyen 2016-02-17 137 fwspec.param_count = 2;
1013fc417 Quan Nguyen 2016-02-17 138 fwspec.param[0] = GPIO_TO_HWIRQ(priv, gpio);
1013fc417 Quan Nguyen 2016-02-17 139 fwspec.param[1] = IRQ_TYPE_NONE;
1013fc417 Quan Nguyen 2016-02-17 140 return irq_create_fwspec_mapping(&fwspec);
1013fc417 Quan Nguyen 2016-02-17 141 }
1013fc417 Quan Nguyen 2016-02-17 142
1013fc417 Quan Nguyen 2016-02-17 143 static void xgene_gpio_sb_domain_activate(struct irq_domain *d,
1013fc417 Quan Nguyen 2016-02-17 144 struct irq_data *irq_data)
1013fc417 Quan Nguyen 2016-02-17 145 {
1013fc417 Quan Nguyen 2016-02-17 146 struct xgene_gpio_sb *priv = d->host_data;
1013fc417 Quan Nguyen 2016-02-17 147 u32 gpio = HWIRQ_TO_GPIO(priv, irq_data->hwirq);
1013fc417 Quan Nguyen 2016-02-17 148
1013fc417 Quan Nguyen 2016-02-17 149 if (gpiochip_lock_as_irq(&priv->gc, gpio)) {
1013fc417 Quan Nguyen 2016-02-17 150 dev_err(priv->gc.parent,
1013fc417 Quan Nguyen 2016-02-17 151 "Unable to configure XGene GPIO standby pin %d as IRQ\n",
1013fc417 Quan Nguyen 2016-02-17 152 gpio);
1013fc417 Quan Nguyen 2016-02-17 153 return;
1013fc417 Quan Nguyen 2016-02-17 154 }
1013fc417 Quan Nguyen 2016-02-17 155
1013fc417 Quan Nguyen 2016-02-17 156 xgene_gpio_set_bit(&priv->gc, priv->regs + MPA_GPIO_SEL_LO,
1013fc417 Quan Nguyen 2016-02-17 157 gpio * 2, 1);
1013fc417 Quan Nguyen 2016-02-17 158 }
1013fc417 Quan Nguyen 2016-02-17 159
1013fc417 Quan Nguyen 2016-02-17 160 static void xgene_gpio_sb_domain_deactivate(struct irq_domain *d,
1013fc417 Quan Nguyen 2016-02-17 161 struct irq_data *irq_data)
1013fc417 Quan Nguyen 2016-02-17 162 {
1013fc417 Quan Nguyen 2016-02-17 163 struct xgene_gpio_sb *priv = d->host_data;
1013fc417 Quan Nguyen 2016-02-17 164 u32 gpio = HWIRQ_TO_GPIO(priv, irq_data->hwirq);
1013fc417 Quan Nguyen 2016-02-17 165
1013fc417 Quan Nguyen 2016-02-17 166 gpiochip_unlock_as_irq(&priv->gc, gpio);
1013fc417 Quan Nguyen 2016-02-17 167 xgene_gpio_set_bit(&priv->gc, priv->regs + MPA_GPIO_SEL_LO,
1013fc417 Quan Nguyen 2016-02-17 168 gpio * 2, 0);
1013fc417 Quan Nguyen 2016-02-17 169 }
1013fc417 Quan Nguyen 2016-02-17 170
1013fc417 Quan Nguyen 2016-02-17 171 static int xgene_gpio_sb_domain_translate(struct irq_domain *d,
1013fc417 Quan Nguyen 2016-02-17 172 struct irq_fwspec *fwspec,
1013fc417 Quan Nguyen 2016-02-17 173 unsigned long *hwirq,
1013fc417 Quan Nguyen 2016-02-17 174 unsigned int *type)
1013fc417 Quan Nguyen 2016-02-17 175 {
1013fc417 Quan Nguyen 2016-02-17 176 struct xgene_gpio_sb *priv = d->host_data;
1013fc417 Quan Nguyen 2016-02-17 177
1013fc417 Quan Nguyen 2016-02-17 178 if ((fwspec->param_count != 2) ||
1013fc417 Quan Nguyen 2016-02-17 179 (fwspec->param[0] >= priv->nirq))
1013fc417 Quan Nguyen 2016-02-17 180 return -EINVAL;
1013fc417 Quan Nguyen 2016-02-17 181 *hwirq = fwspec->param[0];
1013fc417 Quan Nguyen 2016-02-17 182 *type = fwspec->param[1];
1013fc417 Quan Nguyen 2016-02-17 183 return 0;
b2b35e108 Y Vo 2015-01-16 184 }
b2b35e108 Y Vo 2015-01-16 185
1013fc417 Quan Nguyen 2016-02-17 186 static int xgene_gpio_sb_domain_alloc(struct irq_domain *domain,
1013fc417 Quan Nguyen 2016-02-17 187 unsigned int virq,
1013fc417 Quan Nguyen 2016-02-17 188 unsigned int nr_irqs, void *data)
1013fc417 Quan Nguyen 2016-02-17 189 {
1013fc417 Quan Nguyen 2016-02-17 190 struct irq_fwspec *fwspec = data;
1013fc417 Quan Nguyen 2016-02-17 191 struct irq_fwspec parent_fwspec;
1013fc417 Quan Nguyen 2016-02-17 192 struct xgene_gpio_sb *priv = domain->host_data;
1013fc417 Quan Nguyen 2016-02-17 193 irq_hw_number_t hwirq;
1013fc417 Quan Nguyen 2016-02-17 194 unsigned int i;
1013fc417 Quan Nguyen 2016-02-17 195
1013fc417 Quan Nguyen 2016-02-17 196 hwirq = fwspec->param[0];
1013fc417 Quan Nguyen 2016-02-17 197 for (i = 0; i < nr_irqs; i++)
1013fc417 Quan Nguyen 2016-02-17 @198 irq_domain_set_hwirq_and_chip(domain, virq + i, hwirq + i,
1013fc417 Quan Nguyen 2016-02-17 199 &xgene_gpio_sb_irq_chip, priv);
1013fc417 Quan Nguyen 2016-02-17 200
1013fc417 Quan Nguyen 2016-02-17 @201 parent_fwspec.fwnode = domain->parent->fwnode;
1013fc417 Quan Nguyen 2016-02-17 202 if (is_of_node(parent_fwspec.fwnode)) {
1013fc417 Quan Nguyen 2016-02-17 203 parent_fwspec.param_count = 3;
1013fc417 Quan Nguyen 2016-02-17 204 parent_fwspec.param[0] = 0;/* SPI */
1013fc417 Quan Nguyen 2016-02-17 205 /* Skip SGIs and PPIs*/
1013fc417 Quan Nguyen 2016-02-17 206 parent_fwspec.param[1] = hwirq + priv->parent_irq_base - 32;
1013fc417 Quan Nguyen 2016-02-17 207 parent_fwspec.param[2] = fwspec->param[1];
1013fc417 Quan Nguyen 2016-02-17 208 } else if (is_fwnode_irqchip(parent_fwspec.fwnode)) {
1013fc417 Quan Nguyen 2016-02-17 209 parent_fwspec.param_count = 2;
1013fc417 Quan Nguyen 2016-02-17 210 parent_fwspec.param[0] = hwirq + priv->parent_irq_base;
1013fc417 Quan Nguyen 2016-02-17 211 parent_fwspec.param[1] = fwspec->param[1];
1013fc417 Quan Nguyen 2016-02-17 212 } else
1013fc417 Quan Nguyen 2016-02-17 213 return -EINVAL;
1013fc417 Quan Nguyen 2016-02-17 214
1013fc417 Quan Nguyen 2016-02-17 @215 return irq_domain_alloc_irqs_parent(domain, virq, nr_irqs,
1013fc417 Quan Nguyen 2016-02-17 216 &parent_fwspec);
1013fc417 Quan Nguyen 2016-02-17 217 }
1013fc417 Quan Nguyen 2016-02-17 218
1013fc417 Quan Nguyen 2016-02-17 219 static const struct irq_domain_ops xgene_gpio_sb_domain_ops = {
1013fc417 Quan Nguyen 2016-02-17 @220 .translate = xgene_gpio_sb_domain_translate,
1013fc417 Quan Nguyen 2016-02-17 @221 .alloc = xgene_gpio_sb_domain_alloc,
c6cc75fec Axel Lin 2016-03-17 @222 .free = irq_domain_free_irqs_common,
1013fc417 Quan Nguyen 2016-02-17 @223 .activate = xgene_gpio_sb_domain_activate,
1013fc417 Quan Nguyen 2016-02-17 @224 .deactivate = xgene_gpio_sb_domain_deactivate,
1013fc417 Quan Nguyen 2016-02-17 225 };
1013fc417 Quan Nguyen 2016-02-17 226
b2b35e108 Y Vo 2015-01-16 227 static int xgene_gpio_sb_probe(struct platform_device *pdev)
b2b35e108 Y Vo 2015-01-16 228 {
b2b35e108 Y Vo 2015-01-16 229 struct xgene_gpio_sb *priv;
67ebb742b Andrzej Hajda 2016-02-23 230 int ret;
b2b35e108 Y Vo 2015-01-16 231 struct resource *res;
b2b35e108 Y Vo 2015-01-16 232 void __iomem *regs;
1013fc417 Quan Nguyen 2016-02-17 233 struct irq_domain *parent_domain = NULL;
1013fc417 Quan Nguyen 2016-02-17 234 struct fwnode_handle *fwnode;
1013fc417 Quan Nguyen 2016-02-17 235 u32 val32;
b2b35e108 Y Vo 2015-01-16 236
b2b35e108 Y Vo 2015-01-16 237 priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
b2b35e108 Y Vo 2015-01-16 238 if (!priv)
b2b35e108 Y Vo 2015-01-16 239 return -ENOMEM;
b2b35e108 Y Vo 2015-01-16 240
b2b35e108 Y Vo 2015-01-16 241 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
b2b35e108 Y Vo 2015-01-16 242 regs = devm_ioremap_resource(&pdev->dev, res);
33c07b467 Vladimir Zapolskiy 2015-03-29 243 if (IS_ERR(regs))
b2b35e108 Y Vo 2015-01-16 244 return PTR_ERR(regs);
b2b35e108 Y Vo 2015-01-16 245
1013fc417 Quan Nguyen 2016-02-17 246 priv->regs = regs;
1013fc417 Quan Nguyen 2016-02-17 247
1013fc417 Quan Nguyen 2016-02-17 248 ret = platform_get_irq(pdev, 0);
1013fc417 Quan Nguyen 2016-02-17 249 if (ret > 0) {
1013fc417 Quan Nguyen 2016-02-17 250 priv->parent_irq_base = irq_get_irq_data(ret)->hwirq;
1013fc417 Quan Nguyen 2016-02-17 251 parent_domain = irq_get_irq_data(ret)->domain;
1013fc417 Quan Nguyen 2016-02-17 252 }
1013fc417 Quan Nguyen 2016-02-17 253 if (!parent_domain) {
1013fc417 Quan Nguyen 2016-02-17 254 dev_err(&pdev->dev, "unable to obtain parent domain\n");
1013fc417 Quan Nguyen 2016-02-17 255 return -ENODEV;
1013fc417 Quan Nguyen 2016-02-17 256 }
1013fc417 Quan Nguyen 2016-02-17 257
0f4630f37 Linus Walleij 2015-12-04 258 ret = bgpio_init(&priv->gc, &pdev->dev, 4,
b2b35e108 Y Vo 2015-01-16 259 regs + MPA_GPIO_IN_ADDR,
b2b35e108 Y Vo 2015-01-16 260 regs + MPA_GPIO_OUT_ADDR, NULL,
b2b35e108 Y Vo 2015-01-16 261 regs + MPA_GPIO_OE_ADDR, NULL, 0);
b2b35e108 Y Vo 2015-01-16 262 if (ret)
b2b35e108 Y Vo 2015-01-16 263 return ret;
b2b35e108 Y Vo 2015-01-16 264
1013fc417 Quan Nguyen 2016-02-17 265 priv->gc.to_irq = xgene_gpio_sb_to_irq;
b2b35e108 Y Vo 2015-01-16 266
1013fc417 Quan Nguyen 2016-02-17 267 /* Retrieve start irq pin, use default if property not found */
1013fc417 Quan Nguyen 2016-02-17 268 priv->irq_start = XGENE_DFLT_IRQ_START_PIN;
1013fc417 Quan Nguyen 2016-02-17 269 if (!device_property_read_u32(&pdev->dev,
1013fc417 Quan Nguyen 2016-02-17 270 XGENE_IRQ_START_PROPERTY, &val32))
1013fc417 Quan Nguyen 2016-02-17 271 priv->irq_start = val32;
b2b35e108 Y Vo 2015-01-16 272
1013fc417 Quan Nguyen 2016-02-17 273 /* Retrieve number irqs, use default if property not found */
1013fc417 Quan Nguyen 2016-02-17 274 priv->nirq = XGENE_DFLT_MAX_NIRQ;
1013fc417 Quan Nguyen 2016-02-17 275 if (!device_property_read_u32(&pdev->dev, XGENE_NIRQ_PROPERTY, &val32))
1013fc417 Quan Nguyen 2016-02-17 276 priv->nirq = val32;
b2b35e108 Y Vo 2015-01-16 277
1013fc417 Quan Nguyen 2016-02-17 278 /* Retrieve number gpio, use default if property not found */
1013fc417 Quan Nguyen 2016-02-17 279 priv->gc.ngpio = XGENE_DFLT_MAX_NGPIO;
1013fc417 Quan Nguyen 2016-02-17 280 if (!device_property_read_u32(&pdev->dev, XGENE_NGPIO_PROPERTY, &val32))
1013fc417 Quan Nguyen 2016-02-17 281 priv->gc.ngpio = val32;
1013fc417 Quan Nguyen 2016-02-17 282
1013fc417 Quan Nguyen 2016-02-17 283 dev_info(&pdev->dev, "Support %d gpios, %d irqs start from pin %d\n",
1013fc417 Quan Nguyen 2016-02-17 284 priv->gc.ngpio, priv->nirq, priv->irq_start);
b2b35e108 Y Vo 2015-01-16 285
b2b35e108 Y Vo 2015-01-16 286 platform_set_drvdata(pdev, priv);
b2b35e108 Y Vo 2015-01-16 287
1013fc417 Quan Nguyen 2016-02-17 288 if (pdev->dev.of_node)
1013fc417 Quan Nguyen 2016-02-17 289 fwnode = of_node_to_fwnode(pdev->dev.of_node);
b2b35e108 Y Vo 2015-01-16 290 else
1013fc417 Quan Nguyen 2016-02-17 291 fwnode = pdev->dev.fwnode;
1013fc417 Quan Nguyen 2016-02-17 292
1013fc417 Quan Nguyen 2016-02-17 @293 priv->irq_domain = irq_domain_create_hierarchy(parent_domain,
1013fc417 Quan Nguyen 2016-02-17 294 0, priv->nirq, fwnode,
1013fc417 Quan Nguyen 2016-02-17 295 &xgene_gpio_sb_domain_ops, priv);
1013fc417 Quan Nguyen 2016-02-17 296 if (!priv->irq_domain)
:::::: The code at line 111 was first introduced by commit
:::::: 1013fc417cc15ead7c3a9091a47617f357db71a4 gpio: xgene: Enable X-Gene standby GPIO as interrupt controller
:::::: TO: Quan Nguyen <qnguyen@apm.com>
:::::: CC: Linus Walleij <linus.walleij@linaro.org>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/octet-stream
Size: 45764 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20160730/4baf7fb6/attachment-0001.obj>
next prev parent reply other threads:[~2016-07-30 4:33 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-30 0:33 [PATCH net-next 00/10] Fix warning and issues Iyappan Subramanian
2016-07-30 0:33 ` Iyappan Subramanian
[not found] ` <1469838843-19943-1-git-send-email-isubramanian-qTEPVZfXA3Y@public.gmane.org>
2016-07-30 0:33 ` [PATCH net-next 01/10] drivers: net: xgene: Fix kbuild warning Iyappan Subramanian
2016-07-30 0:33 ` Iyappan Subramanian
2016-07-30 9:13 ` Arnd Bergmann
2016-07-30 9:13 ` Arnd Bergmann
2016-07-30 0:33 ` [PATCH net-next 03/10] drivers: net: xgene: fix: Delete descriptor rings and buffer pools Iyappan Subramanian
2016-07-30 0:33 ` Iyappan Subramanian
2016-07-30 0:34 ` [PATCH net-next 08/10] drivers: net: xgene: Poll link status via GPIO Iyappan Subramanian
2016-07-30 0:34 ` Iyappan Subramanian
[not found] ` <1469838843-19943-9-git-send-email-isubramanian-qTEPVZfXA3Y@public.gmane.org>
2016-07-30 1:56 ` kbuild test robot
2016-07-30 1:56 ` kbuild test robot
2016-07-30 1:56 ` kbuild test robot
2016-07-30 4:32 ` kbuild test robot [this message]
2016-07-30 4:32 ` kbuild test robot
2016-07-30 4:32 ` kbuild test robot
2016-07-30 5:42 ` kbuild test robot
2016-07-30 5:42 ` kbuild test robot
2016-07-30 5:42 ` kbuild test robot
2016-08-01 5:39 ` Quan Nguyen
2016-08-01 5:39 ` Quan Nguyen
2016-07-30 0:34 ` [PATCH net-next 10/10] Documentation: dtb: xgene: Add rxlos GPIO mapping Iyappan Subramanian
2016-07-30 0:34 ` Iyappan Subramanian
2016-08-01 16:35 ` Rob Herring
2016-08-01 16:35 ` Rob Herring
2016-08-02 6:03 ` Quan Nguyen
2016-08-02 6:03 ` Quan Nguyen
2016-07-30 3:12 ` [PATCH net-next 00/10] Fix warning and issues David Miller
2016-07-30 3:12 ` David Miller
2016-07-30 0:33 ` [PATCH net-next 02/10] drivers: net: xgene: fix: Add dma_unmap_single Iyappan Subramanian
2016-07-30 0:33 ` Iyappan Subramanian
2016-07-30 0:33 ` [PATCH net-next 04/10] drivers: net: xgene: Fix error deconstruction path Iyappan Subramanian
2016-07-30 0:33 ` Iyappan Subramanian
2016-07-30 0:33 ` [PATCH net-next 05/10] drivers: net: xgene: Fix RSS indirection table fields Iyappan Subramanian
2016-07-30 0:33 ` Iyappan Subramanian
2016-07-30 0:33 ` [PATCH net-next 06/10] drivers: net: xgene: Change port init sequence Iyappan Subramanian
2016-07-30 0:33 ` Iyappan Subramanian
2016-07-30 0:34 ` [PATCH net-next 07/10] drivers: net: xgene: XFI PCS reset when link is down Iyappan Subramanian
2016-07-30 0:34 ` Iyappan Subramanian
2016-07-30 0:34 ` [PATCH net-next 09/10] dtb: xgene: Add rxlos-gpios property Iyappan Subramanian
2016-07-30 0:34 ` Iyappan Subramanian
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201607301242.96Hv3p6V%fengguang.wu@intel.com \
--to=lkp@intel.com \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=isubramanian@apm.com \
--cc=kbuild-all@01.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=patches@apm.com \
--cc=qnguyen@apm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.