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