From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753364AbdKFN2g (ORCPT ); Mon, 6 Nov 2017 08:28:36 -0500 Received: from mout.kundenserver.de ([212.227.17.13]:53541 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753096AbdKFN12 (ORCPT ); Mon, 6 Nov 2017 08:27:28 -0500 From: Arnd Bergmann To: Vivien Didelot , "David S . Miller" , Rob Herring , Frank Rowand Cc: netdev@vger.kernel.org, Arnd Bergmann , Sakari Ailus , Grant Likely , "Rafael J. Wysocki" , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] [net-next?] of: add of_property_read_variable_* dummy helpers Date: Mon, 6 Nov 2017 14:26:10 +0100 Message-Id: <20171106132627.150459-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:C4ODqtUWgcvsx6iEh3OB7LgBi139YZxK5VR0FAHcX0ixorXkbol bK0+EDMUYP0BgzfmbOSfrl/EX3tAGGdL9BGDxggUoajKlOjqgmmNThU1WTsAS6eGXoRvg0c 5FIOgRBvhV8Z4cfXFIeO+xixBtP/icPa0Kt/BGx4SWtAtzDDN61JdCPQD5B0WGTPtF+4W6K U/XsRBDLdSnIsmr1mlCnQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:rxYm5+pjRVw=:YxAdeTTTBezGYvW49A/zBk lAQvtyCPlyWFItxuH3II0sBeggUZNS7/wm82x0Atklkq16rmYPDOH2H0mLXw+cOWmf8gQWcRL IywtvnvY/DIVZDSy0tHmfkGC2nq4dYFGFddsP9zrI0hO2qTcPrH5kAHdgwF67Y2mlpC0+zBod +23NEKDiWMMafucRXGJNri9Y3tWx1PJgXBgjIuhWJzQt+S6zJTIu/ixdQrhgi11+/saqLrEu5 ummPiv3A6jgHfq0txedKBl1rxiN7YxRSKz8ZMOc34i/dtJAZkl2RnNH1I2dumN4y7+33SDagL wP41pxV11ioEpdFJU7J8PSuKpkMgSm19xk9FDeEoeVLRzAaFIxJ78u85sVpbGpo/H+PEYqa12 O6lkCXzCUxFqGBWWQxEjQwrqbr/e/QZ0myoOEr9gl+dI+8vM78G5gRNJP/0aYmqk2FRvbnyYm FityVm4NJwhVgSOtSQbzDHn+JOlS/XQvBBLY28kqk2/+20y0UNyZf5koV/SaiU8xdr8XcslNA gha3UXrDBZnRP9GsfDjA920bk5pmwC6Tilr8+CbOahjNPlIQNStIy28H1DwlrNP6vFgyBYVbM /vKjUjUgIn/Y0W2E8EsNydj9+kINcKFzZBtcHJOFrXWC4t9sooDJhG9oDr/0WQlrKgDEwe/ye YoW/XbU4GTuT5ZJb/lbCKTk5942hAaHW2sD/MYUFpleLRJwv+rquX+GpnUIgLccJkwboDZadk KZSEJ9iEJx0Vtf+3cmm/3QHQtB2pnIWPQzjpNw== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit a67e9472da42 ("of: Add array read functions with min/max size limits") added a new interface for reading variable-length arrays from DT properties. One user was added in dsa recently and this causes a build error because that code can be built with CONFIG_OF disabled: net/dsa/dsa2.c: In function 'dsa_switch_parse_member_of': net/dsa/dsa2.c:678:7: error: implicit declaration of function 'of_property_read_variable_u32_array'; did you mean 'of_property_read_u32_array'? [-Werror=implicit-function-declaration] This adds a dummy functions for of_property_read_variable_u32_array() and a few others that had been missing here. I decided to move of_property_read_string() and of_property_read_string_helper() in the process to make it easier to compare the two sets of function prototypes to make sure they match. Fixes: 975e6e32215e ("net: dsa: rework switch parsing") Signed-off-by: Arnd Bergmann --- DT maintainers: there is currently a build break in the net-next tree (from branch "dsa-parsing-stage") because of this, I think the best way forward would be to get an Ack for this patch to get picked up through the netdev trees. --- include/linux/of.h | 62 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 50 insertions(+), 12 deletions(-) diff --git a/include/linux/of.h b/include/linux/of.h index 43b5034c6a1e..d3dea1d1e3a9 100644 --- a/include/linux/of.h +++ b/include/linux/of.h @@ -681,12 +681,6 @@ static inline int of_property_count_elems_of_size(const struct device_node *np, return -ENOSYS; } -static inline int of_property_read_u32_index(const struct device_node *np, - const char *propname, u32 index, u32 *out_value) -{ - return -ENOSYS; -} - static inline int of_property_read_u8_array(const struct device_node *np, const char *propname, u8 *out_values, size_t sz) { @@ -713,16 +707,14 @@ static inline int of_property_read_u64_array(const struct device_node *np, return -ENOSYS; } -static inline int of_property_read_string(const struct device_node *np, - const char *propname, - const char **out_string) +static inline int of_property_read_u32_index(const struct device_node *np, + const char *propname, u32 index, u32 *out_value) { return -ENOSYS; } -static inline int of_property_read_string_helper(const struct device_node *np, - const char *propname, - const char **out_strs, size_t sz, int index) +static inline int of_property_read_u64_index(const struct device_node *np, + const char *propname, u32 index, u64 *out_value) { return -ENOSYS; } @@ -750,12 +742,51 @@ static inline int of_n_size_cells(struct device_node *np) return 0; } +static inline int of_property_read_variable_u8_array(const struct device_node *np, + const char *propname, u8 *out_values, + size_t sz_min, size_t sz_max) +{ + return -ENOSYS; +} + +static inline int of_property_read_variable_u16_array(const struct device_node *np, + const char *propname, u16 *out_values, + size_t sz_min, size_t sz_max) +{ + return -ENOSYS; +} + +static inline int of_property_read_variable_u32_array(const struct device_node *np, + const char *propname, + u32 *out_values, + size_t sz_min, + size_t sz_max) +{ + return -ENOSYS; +} + static inline int of_property_read_u64(const struct device_node *np, const char *propname, u64 *out_value) { return -ENOSYS; } +static inline int of_property_read_variable_u64_array(const struct device_node *np, + const char *propname, + u64 *out_values, + size_t sz_min, + size_t sz_max) +{ + return -ENOSYS; +} + +static inline int of_property_read_string(const struct device_node *np, + const char *propname, + const char **out_string) +{ + return -ENOSYS; +} + static inline int of_property_match_string(const struct device_node *np, const char *propname, const char *string) @@ -763,6 +794,13 @@ static inline int of_property_match_string(const struct device_node *np, return -ENOSYS; } +static inline int of_property_read_string_helper(const struct device_node *np, + const char *propname, + const char **out_strs, size_t sz, int index) +{ + return -ENOSYS; +} + static inline struct device_node *of_parse_phandle(const struct device_node *np, const char *phandle_name, int index) -- 2.9.0