lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 27 Jun 2018 23:24:53 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Paul Cercueil <paul@...pouillou.net>
Cc:     kbuild-all@...org, Linus Walleij <linus.walleij@...aro.org>,
        linux-gpio@...r.kernel.org, linux-kernel@...r.kernel.org,
        Paul Cercueil <paul@...pouillou.net>
Subject: Re: [PATCH 2/5] pinctrl: Add API function pinctrl_gpio_get_direction

Hi Paul,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on pinctrl/devel]
[also build test ERROR on v4.18-rc2 next-20180627]
[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/Paul-Cercueil/pinctrl-Add-core-function-pinmux_gpio_get_direction/20180627-201609
base:   https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git devel
config: x86_64-randconfig-s0-06272107 (attached as .config)
compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers//pinctrl/core.c: In function 'pinctrl_gpio_get_direction':
>> drivers//pinctrl/core.c:873:8: error: implicit declaration of function 'pinmux_gpio_get_direction' [-Werror=implicit-function-declaration]
     ret = pinmux_gpio_get_direction(pctldev, range, pin);
           ^~~~~~~~~~~~~~~~~~~~~~~~~
   Cyclomatic Complexity 5 include/linux/compiler.h:__write_once_size
   Cyclomatic Complexity 1 include/linux/kasan-checks.h:kasan_check_write
   Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:fls64
   Cyclomatic Complexity 1 include/linux/log2.h:__ilog2_u64
   Cyclomatic Complexity 1 include/linux/list.h:INIT_LIST_HEAD
   Cyclomatic Complexity 1 include/linux/list.h:__list_del
   Cyclomatic Complexity 1 include/asm-generic/getorder.h:__get_order
   Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:arch_atomic_set
   Cyclomatic Complexity 1 include/asm-generic/atomic-instrumented.h:atomic_set
   Cyclomatic Complexity 3 include/linux/string.h:kmemdup
   Cyclomatic Complexity 1 include/linux/err.h:ERR_PTR
   Cyclomatic Complexity 1 include/linux/err.h:PTR_ERR
   Cyclomatic Complexity 1 include/linux/spinlock.h:spinlock_check
   Cyclomatic Complexity 1 include/linux/refcount.h:refcount_set
   Cyclomatic Complexity 1 include/linux/kref.h:kref_init
   Cyclomatic Complexity 1 include/linux/kobject.h:kobject_name
   Cyclomatic Complexity 2 include/linux/device.h:dev_name
   Cyclomatic Complexity 28 include/linux/slab.h:kmalloc_index
   Cyclomatic Complexity 68 include/linux/slab.h:kmalloc_large
   Cyclomatic Complexity 5 include/linux/slab.h:kmalloc
   Cyclomatic Complexity 1 include/linux/slab.h:kzalloc
   Cyclomatic Complexity 1 drivers//pinctrl/devicetree.h:pinctrl_dt_to_map
   Cyclomatic Complexity 1 drivers//pinctrl/devicetree.h:pinctrl_dt_free_maps
   Cyclomatic Complexity 1 drivers//pinctrl/pinmux.h:pinmux_check_ops
   Cyclomatic Complexity 1 drivers//pinctrl/pinmux.h:pinmux_validate_map
   Cyclomatic Complexity 1 drivers//pinctrl/pinmux.h:pinmux_request_gpio
   Cyclomatic Complexity 1 drivers//pinctrl/pinmux.h:pinmux_free_gpio
   Cyclomatic Complexity 1 drivers//pinctrl/pinmux.h:pinmux_gpio_direction
   Cyclomatic Complexity 1 drivers//pinctrl/pinmux.h:pinmux_map_to_setting
   Cyclomatic Complexity 1 drivers//pinctrl/pinmux.h:pinmux_free_setting
   Cyclomatic Complexity 1 drivers//pinctrl/pinmux.h:pinmux_enable_setting
   Cyclomatic Complexity 1 drivers//pinctrl/pinmux.h:pinmux_disable_setting
   Cyclomatic Complexity 1 drivers//pinctrl/pinmux.h:pinmux_show_map
   Cyclomatic Complexity 1 drivers//pinctrl/pinmux.h:pinmux_show_setting
   Cyclomatic Complexity 1 drivers//pinctrl/pinmux.h:pinmux_init_device_debugfs
   Cyclomatic Complexity 1 drivers//pinctrl/pinmux.h:pinmux_generic_free_functions
   Cyclomatic Complexity 2 drivers//pinctrl/core.c:gpio_to_pin
   Cyclomatic Complexity 1 drivers//pinctrl/core.c:pinctrl_generic_free_groups
   Cyclomatic Complexity 1 drivers//pinctrl/core.c:devm_pinctrl_match
   Cyclomatic Complexity 2 drivers//pinctrl/core.c:map_type
   Cyclomatic Complexity 4 drivers//pinctrl/core.c:pinctrl_check_ops
   Cyclomatic Complexity 1 drivers//pinctrl/core.h:pin_desc_get
   Cyclomatic Complexity 2 include/linux/list.h:__list_add
   Cyclomatic Complexity 1 include/linux/list.h:list_add_tail
   Cyclomatic Complexity 2 drivers//pinctrl/core.c:create_state
   Cyclomatic Complexity 2 include/linux/list.h:__list_del_entry
   Cyclomatic Complexity 1 include/linux/list.h:list_del
   Cyclomatic Complexity 6 drivers//pinctrl/core.c:pinctrl_match_gpio_range
   Cyclomatic Complexity 5 drivers//pinctrl/core.c:pinctrl_get_device_gpio_range
   Cyclomatic Complexity 2 drivers//pinctrl/core.c:pinctrl_gpio_direction
   Cyclomatic Complexity 1 include/linux/err.h:IS_ERR
   Cyclomatic Complexity 3 include/linux/err.h:IS_ERR_OR_NULL
   Cyclomatic Complexity 5 drivers//pinctrl/core.c:devm_pinctrl_dev_match
   Cyclomatic Complexity 1 include/asm-generic/gpio.h:gpio_to_chip
   Cyclomatic Complexity 11 drivers//pinctrl/core.c:pinctrl_ready_for_gpio_range
   Cyclomatic Complexity 5 drivers//pinctrl/core.c:find_pinctrl
   Cyclomatic Complexity 1 include/linux/kref.h:kref_get
   Cyclomatic Complexity 5 drivers//pinctrl/core.c:find_state
   Cyclomatic Complexity 4 drivers//pinctrl/core.c:pinctrl_free_setting
   Cyclomatic Complexity 10 drivers//pinctrl/core.c:pinctrl_free
   Cyclomatic Complexity 2 drivers//pinctrl/core.c:pinctrl_release
   Cyclomatic Complexity 2 include/linux/kref.h:kref_put
   Cyclomatic Complexity 3 drivers//pinctrl/core.c:pinctrl_init_debugfs
   Cyclomatic Complexity 1 drivers//pinctrl/core.c:pinctrl_init
   Cyclomatic Complexity 8 drivers//pinctrl/core.c:pinctrl_init_device_debugfs
   Cyclomatic Complexity 1 drivers//pinctrl/core.c:pinctrl_gpioranges_open
   Cyclomatic Complexity 1 drivers//pinctrl/core.c:pinctrl_groups_open
   Cyclomatic Complexity 1 drivers//pinctrl/core.c:pinctrl_pins_open
   Cyclomatic Complexity 1 drivers//pinctrl/core.c:pinctrl_open
   Cyclomatic Complexity 1 drivers//pinctrl/core.c:pinctrl_maps_open
   Cyclomatic Complexity 1 drivers//pinctrl/core.c:pinctrl_devices_open
   Cyclomatic Complexity 6 drivers//pinctrl/core.c:pinctrl_gpioranges_show
   Cyclomatic Complexity 4 drivers//pinctrl/core.c:pinctrl_pins_show
   Cyclomatic Complexity 1 include/linux/radix-tree.h:radix_tree_insert
   Cyclomatic Complexity 5 drivers//pinctrl/core.c:pinctrl_register_one_pin
   Cyclomatic Complexity 3 drivers//pinctrl/core.c:pinctrl_register_pins
   Cyclomatic Complexity 4 drivers//pinctrl/core.c:pinctrl_free_pindescs
   Cyclomatic Complexity 10 drivers//pinctrl/core.c:pinctrl_init_controller
   Cyclomatic Complexity 1 drivers//pinctrl/core.c:pinctrl_remove_device_debugfs
   Cyclomatic Complexity 8 drivers//pinctrl/core.c:pinctrl_maps_show
   Cyclomatic Complexity 6 drivers//pinctrl/core.c:pinctrl_devices_show
   Cyclomatic Complexity 1 drivers//pinctrl/core.c:pinctrl_provide_dummies
   Cyclomatic Complexity 1 drivers//pinctrl/core.c:pinctrl_dev_get_name
   Cyclomatic Complexity 13 drivers//pinctrl/core.c:pinctrl_show
   Cyclomatic Complexity 1 drivers//pinctrl/core.c:pinctrl_dev_get_devname
   Cyclomatic Complexity 1 drivers//pinctrl/core.c:pinctrl_dev_get_drvdata
   Cyclomatic Complexity 6 drivers//pinctrl/core.c:get_pinctrl_dev_from_devname
   Cyclomatic Complexity 11 drivers//pinctrl/core.c:add_setting
   Cyclomatic Complexity 12 drivers//pinctrl/core.c:create_pinctrl
   Cyclomatic Complexity 5 drivers//pinctrl/core.c:get_pinctrl_dev_from_of_node
   Cyclomatic Complexity 4 drivers//pinctrl/core.c:pin_get_from_name
   Cyclomatic Complexity 2 drivers//pinctrl/core.c:pin_get_name
   Cyclomatic Complexity 7 drivers//pinctrl/core.c:pinctrl_groups_show
   Cyclomatic Complexity 2 drivers//pinctrl/core.c:pin_is_valid
   Cyclomatic Complexity 1 drivers//pinctrl/core.c:pinctrl_add_gpio_range
   Cyclomatic Complexity 2 drivers//pinctrl/core.c:pinctrl_add_gpio_ranges
   Cyclomatic Complexity 2 drivers//pinctrl/core.c:pinctrl_find_and_add_gpio_range
   Cyclomatic Complexity 9 drivers//pinctrl/core.c:pinctrl_find_gpio_range_from_pin_nolock

vim +/pinmux_gpio_get_direction +873 drivers//pinctrl/core.c

   849	
   850	/**
   851	 * pinctrl_gpio_get_direction() - Get the direction (input/output) of a GPIO pin
   852	 * @gpio: the GPIO pin number from the GPIO subsystem number space
   853	 *
   854	 * This function should *ONLY* be used from gpiolib-based GPIO drivers,
   855	 * as part of their gpio_get_direction() semantics, platforms and individual
   856	 * drivers shall *NOT* touch pin control GPIO calls.
   857	 */
   858	int pinctrl_gpio_get_direction(unsigned int gpio)
   859	{
   860		struct pinctrl_dev *pctldev;
   861		struct pinctrl_gpio_range *range;
   862		int ret;
   863		int pin;
   864	
   865		ret = pinctrl_get_device_gpio_range(gpio, &pctldev, &range);
   866		if (ret)
   867			return ret;
   868	
   869		mutex_lock(&pctldev->mutex);
   870	
   871		/* Convert to the pin controllers number space */
   872		pin = gpio_to_pin(range, gpio);
 > 873		ret = pinmux_gpio_get_direction(pctldev, range, pin);
   874	
   875		mutex_unlock(&pctldev->mutex);
   876	
   877		return ret;
   878	}
   879	EXPORT_SYMBOL_GPL(pinctrl_gpio_get_direction);
   880	

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

Download attachment ".config.gz" of type "application/gzip" (26141 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ