Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp1259337imu; Wed, 9 Jan 2019 14:45:03 -0800 (PST) X-Google-Smtp-Source: ALg8bN4Cod7Kg+HZPnpSOE1Csd5KAtCZ2GKp9z6q7ly+0BGSr6Vo3IucJahOF4N/7tF0ri6exUVq X-Received: by 2002:a17:902:704b:: with SMTP id h11mr7905537plt.157.1547073903754; Wed, 09 Jan 2019 14:45:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1547073903; cv=none; d=google.com; s=arc-20160816; b=U1FL/cgIlsKKmjk2GJ0aGHoVhqEnprC0f5zQsar6bkUDwxexOImO7gBrE7hfdWZJlS VR0+OVnks3EFxb35banUnYqBfVakZ426+hWdP+ffGmF4mKkDZocNfH6dHuVlbNZT/oN4 boot1ZYdW78mppTcRc2Md+ktEPumj2s5w4UquJqxYcxfI0edlmo4Lx8Azp29txs1asnd JJw9NHo0f8alOY+3nYauMi1riA5wxhyXKEFrFV9a3NkcG60m/Gp8ttzTDW1olu0yQknO YVgf/xkp1srAZElZ1/updIre8vr65MlDqcjuAA5b3PwcWMaZqVDqQBu9/CW/cr64lEst gcpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=GBp8XuO7L1yl0nKdQr/lzTo3dHZX8NLqRjv3aVOqkO8=; b=UK/6wysNdXt8eJGjpQJV21baKso9QR+gc2Wwdbe0m9tljmXz2I+/s2uSrZd3GHGixE Ktlv/VTyBxV1UMLnlKx7w/493q4PMawYzt7UTl7bq0v1VtexGzYV74amT6KniFqs0ku9 4UovLCOVXACH7uJVhQaElJ+AjY6UAoclr4bVr/wgRyFcxKb0S6//NOESPOZy0L8/Rerd XOXElRyrDf6db+kUQUPL/x0+1tyv0yWjXGvWrfi8x/kyIhfqZEJCMyaKdM07Ddl93FiX uq6uPrpEGZaDR9Js/P6H6RtD7su8o9J3N5DWz1roO8tmrchtBrcV/4z+rgOYNILQx8hv WsUA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=xyjlDxsm; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g11si41978542plt.4.2019.01.09.14.44.48; Wed, 09 Jan 2019 14:45:03 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=xyjlDxsm; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727065AbfAIWgt (ORCPT + 99 others); Wed, 9 Jan 2019 17:36:49 -0500 Received: from mail.kernel.org ([198.145.29.99]:60462 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726936AbfAIWgr (ORCPT ); Wed, 9 Jan 2019 17:36:47 -0500 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id AB49B2075C; Wed, 9 Jan 2019 22:36:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1547073405; bh=NVODrl36tVRwjwU3uYpAGfxPK2KVsqivgoJi//Yxz0A=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=xyjlDxsmsBfGaP1sVYqKA5ebVuGu8QzcYFbKfUVUD6NYqCIJ5Mlq8NfMtmn886vpF hDtIShD29lMh73qVN1qWwrsKgpgYDGzBxlYrVr2tlA4TiDMTOA+ojvnxHkGcIgf0wZ 3yJLkCycqdEe5FvJ2pP71f3SnjnJzsAu9qBn6e3o= Received: by mail-wm1-f45.google.com with SMTP id g67so10009094wmd.2; Wed, 09 Jan 2019 14:36:44 -0800 (PST) X-Gm-Message-State: AJcUukfVf6DydYFzTQthGnBilYsXrLu1aMHNkVeUupzu2LMQBnus7NTD RRoy1GdGAgzqmjXEznPFvyGSHuyka9RSTxGM+xs= X-Received: by 2002:a1c:4d12:: with SMTP id o18mr7697032wmh.92.1547073403098; Wed, 09 Jan 2019 14:36:43 -0800 (PST) MIME-Version: 1.0 References: <64a23e6f8751ee6f1387a611a9d5dba43694b0d0.1546999151.git.ryder.lee@mediatek.com> In-Reply-To: <64a23e6f8751ee6f1387a611a9d5dba43694b0d0.1546999151.git.ryder.lee@mediatek.com> From: Sean Wang Date: Wed, 9 Jan 2019 14:38:00 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] pinctrl: mediatek: fix build errors for moore core when CONFIG_OF is not enabled To: Ryder Lee Cc: Linus Walleij , Weijie Gao , linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, stable@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jan 8, 2019 at 6:14 PM Ryder Lee wrote: > > on i386 or x86_64: > > Lots of build errors for drivers/pinctrl/mediatek/pinctrl-moore.c when > CONFIG_OF is not enabled (but COMPILE_TEST is). > > first this: > WARNING: unmet direct dependencies detected for PINCTRL_MTK_MOORE > Depends on [n]: PINCTRL [=y] && (ARCH_MEDIATEK || COMPILE_TEST [=y]) && OF [=n] > Selected by [y]: > - PINCTRL_MT7623 [=y] && PINCTRL [=y] && (ARCH_MEDIATEK || COMPILE_TEST [=y]) && (MACH_MT7623 || COMPILE_TEST [=y]) > > and then: > ../drivers/pinctrl/mediatek/pinctrl-moore.c:22:44: error: array type has incomplete element type > static const struct pinconf_generic_params mtk_custom_bindings[] = { > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c: In function 'mtk_pinmux_set_mux': > ../drivers/pinctrl/mediatek/pinctrl-moore.c:46:2: error: implicit declaration of function 'pinmux_generic_get_function' [-Werror=implicit-function-declaration] > func = pinmux_generic_get_function(pctldev, selector); > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:46:7: warning: assignment makes pointer from integer without a cast [enabled by default] > func = pinmux_generic_get_function(pctldev, selector); > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:50:2: error: implicit declaration of function 'pinctrl_generic_get_group' [-Werror=implicit-function-declaration] > grp = pinctrl_generic_get_group(pctldev, group); > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:50:6: warning: assignment makes pointer from integer without a cast [enabled by default] > grp = pinctrl_generic_get_group(pctldev, group); > ^ > In file included from ../include/linux/printk.h:331:0, > from ../include/linux/kernel.h:14, > from ../include/linux/list.h:9, > from ../include/linux/kobject.h:19, > from ../include/linux/device.h:16, > from ../include/linux/gpio/driver.h:5, > from ../drivers/pinctrl/mediatek/pinctrl-moore.c:11: > ../drivers/pinctrl/mediatek/pinctrl-moore.c:55:7: error: dereferencing pointer to incomplete type > func->name, grp->name); > ^ > ../include/linux/dynamic_debug.h:136:9: note: in definition of macro 'dynamic_dev_dbg' > ##__VA_ARGS__); \ > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:54:2: note: in expansion of macro 'dev_dbg' > dev_dbg(pctldev->dev, "enable function %s group %s\n", > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:55:18: error: dereferencing pointer to incomplete type > func->name, grp->name); > ^ > ../include/linux/dynamic_debug.h:136:9: note: in definition of macro 'dynamic_dev_dbg' > ##__VA_ARGS__); \ > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:54:2: note: in expansion of macro 'dev_dbg' > dev_dbg(pctldev->dev, "enable function %s group %s\n", > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:57:21: error: dereferencing pointer to incomplete type > for (i = 0; i < grp->num_pins; i++) { > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:59:23: error: dereferencing pointer to incomplete type > int *pin_modes = grp->data; > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:60:16: error: dereferencing pointer to incomplete type > int pin = grp->pins[i]; > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c: In function 'mtk_pinconf_group_get': > ../drivers/pinctrl/mediatek/pinctrl-moore.c:357:2: error: implicit declaration of function 'pinctrl_generic_get_group_pins' [-Werror=implicit-function-declaration] > ret = pinctrl_generic_get_group_pins(pctldev, group, &pins, &npins); > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c: At top level: > ../drivers/pinctrl/mediatek/pinctrl-moore.c:397:22: error: 'pinctrl_generic_get_group_count' undeclared here (not in a function) > .get_groups_count = pinctrl_generic_get_group_count, > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:398:20: error: 'pinctrl_generic_get_group_name' undeclared here (not in a function) > .get_group_name = pinctrl_generic_get_group_name, > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:399:20: error: 'pinctrl_generic_get_group_pins' undeclared here (not in a function) > .get_group_pins = pinctrl_generic_get_group_pins, > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:400:20: error: 'pinconf_generic_dt_node_to_map_all' undeclared here (not in a function) > .dt_node_to_map = pinconf_generic_dt_node_to_map_all, > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:401:17: error: 'pinconf_generic_dt_free_map' undeclared here (not in a function) > .dt_free_map = pinconf_generic_dt_free_map, > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:405:25: error: 'pinmux_generic_get_function_count' undeclared here (not in a function) > .get_functions_count = pinmux_generic_get_function_count, > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:406:23: error: 'pinmux_generic_get_function_name' undeclared here (not in a function) > .get_function_name = pinmux_generic_get_function_name, > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:407:25: error: 'pinmux_generic_get_function_groups' undeclared here (not in a function) > .get_function_groups = pinmux_generic_get_function_groups, > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c: In function 'mtk_build_gpiochip': > ../drivers/pinctrl/mediatek/pinctrl-moore.c:521:6: error: 'struct gpio_chip' has no member named 'of_node' > chip->of_node = np; > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:522:6: error: 'struct gpio_chip' has no member named 'of_gpio_n_cells' > chip->of_gpio_n_cells = 2; > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c: In function 'mtk_build_groups': > ../drivers/pinctrl/mediatek/pinctrl-moore.c:552:16: error: invalid use of undefined type 'struct group_desc' > const struct group_desc *group = hw->soc->grps + i; > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:554:3: error: implicit declaration of function 'pinctrl_generic_add_group' [-Werror=implicit-function-declaration] > err = pinctrl_generic_add_group(hw->pctrl, group->name, > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:554:51: error: dereferencing pointer to incomplete type > err = pinctrl_generic_add_group(hw->pctrl, group->name, > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:555:12: error: dereferencing pointer to incomplete type > group->pins, group->num_pins, > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:555:25: error: dereferencing pointer to incomplete type > group->pins, group->num_pins, > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:556:12: error: dereferencing pointer to incomplete type > group->data); > ^ > In file included from ../include/linux/gpio/driver.h:5:0, > from ../drivers/pinctrl/mediatek/pinctrl-moore.c:11: > ../drivers/pinctrl/mediatek/pinctrl-moore.c:559:10: error: dereferencing pointer to incomplete type > group->name); > ^ > ../include/linux/device.h:1463:32: note: in definition of macro 'dev_err' > _dev_err(dev, dev_fmt(fmt), ##__VA_ARGS__) > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c: In function 'mtk_build_functions': > ../drivers/pinctrl/mediatek/pinctrl-moore.c:572:16: error: invalid use of undefined type 'struct function_desc' > const struct function_desc *func = hw->soc->funcs + i; > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:574:3: error: implicit declaration of function 'pinmux_generic_add_function' [-Werror=implicit-function-declaration] > err = pinmux_generic_add_function(hw->pctrl, func->name, > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:574:52: error: dereferencing pointer to incomplete type > err = pinmux_generic_add_function(hw->pctrl, func->name, > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:575:13: error: dereferencing pointer to incomplete type > func->group_names, > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:576:13: error: dereferencing pointer to incomplete type > func->num_group_names, > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:577:13: error: dereferencing pointer to incomplete type > func->data); > ^ > In file included from ../include/linux/gpio/driver.h:5:0, > from ../drivers/pinctrl/mediatek/pinctrl-moore.c:11: > ../drivers/pinctrl/mediatek/pinctrl-moore.c:580:9: error: dereferencing pointer to incomplete type > func->name); > ^ > ../include/linux/device.h:1463:32: note: in definition of macro 'dev_err' > _dev_err(dev, dev_fmt(fmt), ##__VA_ARGS__) > ^ > In file included from ../include/linux/kernel.h:15:0, > from ../include/linux/list.h:9, > from ../include/linux/kobject.h:19, > from ../include/linux/device.h:16, > from ../include/linux/gpio/driver.h:5, > from ../drivers/pinctrl/mediatek/pinctrl-moore.c:11: > ../drivers/pinctrl/mediatek/pinctrl-moore.c: In function 'mtk_moore_pinctrl_probe': > ../include/linux/build_bug.h:16:45: error: bit-field '' width not an integer constant > #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:(-!!(e)); })) > ^ > ../include/linux/compiler.h:349:28: note: in expansion of macro 'BUILD_BUG_ON_ZERO' > #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0])) > ^ > ../include/linux/kernel.h:72:59: note: in expansion of macro '__must_be_array' > #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c:643:31: note: in expansion of macro 'ARRAY_SIZE' > mtk_desc.num_custom_params = ARRAY_SIZE(mtk_custom_bindings); > ^ > ../drivers/pinctrl/mediatek/pinctrl-moore.c: At top level: > ../drivers/pinctrl/mediatek/pinctrl-moore.c:22:44: warning: 'mtk_custom_bindings' defined but not used [-Wunused-variable] > static const struct pinconf_generic_params mtk_custom_bindings[] = { > ^ > cc1: some warnings being treated as errors > ../scripts/Makefile.build:276: recipe for target 'drivers/pinctrl/mediatek/pinctrl-moore.o' failed > make[4]: *** [drivers/pinctrl/mediatek/pinctrl-moore.o] Error 1 > > Fixes: b5af33df50e9 ("pinctrl: mediatek: improve Kconfig dependencies") > Cc: stable@vger.kernel.org > Reported-by: Randy Dunlap > Signed-off-by: Ryder Lee The content looks good to me Acked-by: Sean Wang Hi Linus, If you don't like such a long message, you can feel free trim it to a short one when you merge. Sean > --- > drivers/pinctrl/mediatek/Kconfig | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/pinctrl/mediatek/Kconfig b/drivers/pinctrl/mediatek/Kconfig > index 1817786..a005cbc 100644 > --- a/drivers/pinctrl/mediatek/Kconfig > +++ b/drivers/pinctrl/mediatek/Kconfig > @@ -45,12 +45,14 @@ config PINCTRL_MT2701 > config PINCTRL_MT7623 > bool "Mediatek MT7623 pin control with generic binding" > depends on MACH_MT7623 || COMPILE_TEST > + depends on OF > default MACH_MT7623 > select PINCTRL_MTK_MOORE > > config PINCTRL_MT7629 > bool "Mediatek MT7629 pin control" > depends on MACH_MT7629 || COMPILE_TEST > + depends on OF > default MACH_MT7629 > select PINCTRL_MTK_MOORE > > @@ -92,6 +94,7 @@ config PINCTRL_MT6797 > > config PINCTRL_MT7622 > bool "MediaTek MT7622 pin control" > + depends on OF > depends on ARM64 || COMPILE_TEST > default ARM64 && ARCH_MEDIATEK > select PINCTRL_MTK_MOORE > -- > 1.9.1 >