From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752769AbcABCij (ORCPT ); Fri, 1 Jan 2016 21:38:39 -0500 Received: from regular1.263xmail.com ([211.150.99.130]:54529 "EHLO regular1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751804AbcABCif convert rfc822-to-8bit (ORCPT ); Fri, 1 Jan 2016 21:38:35 -0500 X-263anti-spam: KSV:0; X-MAIL-GRAY: 0 X-MAIL-DELIVERY: 1 X-KSVirus-check: 0 X-ABS-CHECKED: 4 X-ADDR-CHECKED: 0 X-RL-SENDER: zhengxing@rock-chips.com X-FST-TO: arnd@arndb.de X-SENDER-IP: 120.196.98.186 X-LOGIN-NAME: zhengxing@rock-chips.com X-UNIQUE-TAG: <34a44d3a3e921d60ea30138e6b899300> X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Content-Type: text/plain; charset=gb2312 Mime-Version: 1.0 (1.0) Subject: Re: [RESEND PATCH v1 3/4] net: ethernet: arc: Add support emac for RK3036 From: Xing Zheng X-Mailer: iPad Mail (13C75) In-Reply-To: <3169681.aSJgN2TRic@wuerfel> Date: Sat, 2 Jan 2016 10:38:28 +0800 Cc: linux-arm-kernel@lists.infradead.org, Florian Fainelli , linux-rockchip@lists.infradead.org, heiko@sntech.de, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Paul Gortmaker , Geert Uytterhoeven , keescook@google.com, leozwang@google.com, davem@davemloft.net, xing.zheng@rock-chips.com Content-Transfer-Encoding: 8BIT Message-Id: <6ADB598D-07E0-4E51-A9FE-25B47FD87F7E@rock-chips.com> References: <1451287341-16453-1-git-send-email-zhengxing@rock-chips.com> <1451287341-16453-4-git-send-email-zhengxing@rock-chips.com> <3169681.aSJgN2TRic@wuerfel> To: Arnd Bergmann Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org OK, I think I will use named structures. Thanks. > 在 2016年1月1日,20:55,Arnd Bergmann 写道: > >> On Tuesday 29 December 2015 14:59:59 Florian Fainelli wrote: >>> On December 27, 2015 11:22:20 PM PST, Xing Zheng wrote: >>> The RK3036's GRFs offset are different with RK3066/RK3188, and need to >>> set >>> mac TX/RX clock before probe emac. >>> >>> Signed-off-by: Xing Zheng >>> --- >> >>> }; >>> >>> static const struct of_device_id emac_rockchip_dt_ids[] = { >>> - { .compatible = "rockchip,rk3066-emac", .data = >>> &emac_rockchip_dt_data[0] }, >>> - { .compatible = "rockchip,rk3188-emac", .data = >>> &emac_rockchip_dt_data[1] }, >>> + { .compatible = "rockchip,rk3036-emac", .data = >>> &emac_rockchip_dt_data[0] }, >>> + { .compatible = "rockchip,rk3066-emac", .data = >>> &emac_rockchip_dt_data[1] }, >>> + { .compatible = "rockchip,rk3188-emac", .data = >>> &emac_rockchip_dt_data[2] }, >>> { /* Sentinel */ } >> >> Food for thought, you might want to use an enum here to index emac_rockchip_dt_data which would be less error prone if you add/remove entries in this structure. > > I would use named structures instead: > > static const struct emac_rockchip_soc_data emac_rk3066_emac_data = { > .grf_offset = 0x154, > }; > > static const struct of_device_id emac_rockchip_dt_ids[] = { > { .compatible = "rockchip,rk3066-emac", .data = &emac_rk3066_emac_data, > ... > }; > > Armd > >