Hi Sebastian,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on v4.16-rc2]
[also build test ERROR on next-20180216]
[cannot apply to ath6kl/ath-next]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/s-gottschall-dd-wrt-com/v4-ath10k-add-LED-and-GPIO-controlling-support-for-various-chipsets/20180219-113151
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers/net/wireless/ath/ath10k/core.c:2209:41: sparse: not a function 
<noident>
   drivers/net/wireless/ath/ath10k/core.c:2209:24: sparse: bad constant 
expression type
   drivers/net/wireless/ath/ath10k/core.c:2212:20: sparse: no member 'dev' in 
struct gpio_chip
   drivers/net/wireless/ath/ath10k/core.c:2281:50: sparse: no member 'cdev' in 
struct ath10k_gpiocontrol
   drivers/net/wireless/ath/ath10k/core.c: In function 
'ath10k_register_gpio_chip':
   drivers/net/wireless/ath/ath10k/core.c:2209:5: warning: "LINUX_VERSION_CODE" 
is not defined, evaluates to 0 [-Wundef]
    #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0)
        ^~~~~~~~~~~~~~~~~~
   drivers/net/wireless/ath/ath10k/core.c:2209:27: warning: "KERNEL_VERSION" is 
not defined, evaluates to 0 [-Wundef]
    #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0)
                              ^~~~~~~~~~~~~~
   drivers/net/wireless/ath/ath10k/core.c:2209:41: error: missing binary 
operator before token "("
    #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0)
                                            ^
   drivers/net/wireless/ath/ath10k/core.c:2212:13: error: 'struct gpio_chip' 
has no member named 'dev'
     gpio->gchip.dev = ar->dev;
                ^
   drivers/net/wireless/ath/ath10k/core.c: In function 'ath10k_unregister_led':
>> drivers/net/wireless/ath/ath10k/core.c:2281:36: error: 'struct 
>> ath10k_gpiocontrol' has no member named 'cdev'
      led_classdev_unregister(&ar->gpio->cdev);
                                       ^~

vim +2281 drivers/net/wireless/ath/ath10k/core.c

  2197  
  2198  /* register GPIO chip */
  2199  static int ath10k_register_gpio_chip(struct ath10k *ar)
  2200  {
  2201          struct ath10k_gpiocontrol *gpio;
  2202          gpio = kzalloc(sizeof(struct ath10k_gpiocontrol), GFP_KERNEL);
  2203          if (!gpio) {
  2204                  return -1;
  2205          }
  2206   
  2207          snprintf(gpio->label, sizeof(gpio->label), "ath10k-%s",
  2208                   wiphy_name(ar->hw->wiphy));
> 2209  #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,5,0)
  2210          gpio->gchip.parent = ar->dev;
  2211  #else
  2212          gpio->gchip.dev = ar->dev;
  2213  #endif
  2214          gpio->gchip.base = -1;  /* determine base automatically */
  2215          gpio->gchip.ngpio = ar->hw_params.gpio_count;
  2216          gpio->gchip.label = gpio->label;
  2217          gpio->gchip.direction_input = ath10k_gpio_pin_cfg_input;
  2218          gpio->gchip.direction_output = ath10k_gpio_pin_cfg_output;
  2219          gpio->gchip.get_direction = ath10k_gpio_pin_get_dir;
  2220          gpio->gchip.get = ath10k_gpio_pin_get;
  2221          gpio->gchip.set = ath10k_gpio_pin_set;
  2222  
  2223          if (gpiochip_add(&gpio->gchip)) {
  2224                  printk(KERN_ERR "Error while registering gpio chip\n");
  2225                  return -1;
  2226          }
  2227          gpio->gchip.owner = NULL;
  2228          ar->gpio = gpio;
  2229          gpio->ar = ar;
  2230          return 0;
  2231  }
  2232  
  2233  #ifdef CONFIG_LEDS_CLASS
  2234  static void ath10k_led_brightness(struct led_classdev *led_cdev,
  2235                                 enum led_brightness brightness)
  2236  {
  2237          struct ath10k_gpiocontrol *gpio = container_of(led_cdev, struct 
ath10k_gpiocontrol, cdev);
  2238          struct gpio_led *led = &gpio->wifi_led;
  2239          if (gpio->ar->state == ATH10K_STATE_ON) {
  2240                  gpio->gpio_state_pin = (brightness != LED_OFF) ^ 
led->active_low;
  2241                  ath10k_wmi_gpio_output(gpio->ar, led->gpio, 
gpio->gpio_state_pin);
  2242          }
  2243  }
  2244  
  2245  static int ath10k_add_led(struct ath10k *ar, struct gpio_led *gpioled)
  2246  {
  2247          int ret;
  2248          struct ath10k_gpiocontrol *gpio = ar->gpio; 
  2249          if (!gpio)
  2250                  return -1;
  2251          gpio->cdev.name = gpioled->name;
  2252          gpio->cdev.default_trigger = gpioled->default_trigger;
  2253          gpio->cdev.brightness_set = ath10k_led_brightness;
  2254  
  2255          ret = led_classdev_register(wiphy_dev(ar->hw->wiphy), 
&gpio->cdev);
  2256          if (ret < 0)
  2257                  return ret;
  2258  
  2259          return 0;
  2260  }
  2261  #endif
  2262  
  2263  #endif
  2264  
  2265  /* remove GPIO chip */
  2266  static void ath10k_unregister_gpio_chip(struct ath10k *ar)
  2267  {
  2268  #ifdef CONFIG_GPIOLIB
  2269          struct ath10k_gpiocontrol *gpio = ar->gpio; 
  2270          if (gpio) {
  2271                  gpiochip_remove(&gpio->gchip);
  2272                  kfree(gpio);
  2273          }
  2274  #endif
  2275  }
  2276  
  2277  static void ath10k_unregister_led(struct ath10k *ar)
  2278  {
  2279  #ifdef CONFIG_GPIOLIB
  2280          if (ar->gpio)
> 2281                  led_classdev_unregister(&ar->gpio->cdev);
  2282  #endif
  2283  }
  2284  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to