[PATCH 6/8] arm: kirkwood: Pogoplug-V4 : Add board implementation header
Stefan Roese
sr at denx.de
Mon Dec 20 08:23:08 CET 2021
Hi Tony,
On 12/18/21 22:47, Tony Dinh wrote:
> Hi Pali,
>
> On Sat, Dec 18, 2021 at 5:09 AM Pali Rohár <pali at kernel.org> wrote:
>>
>> On Friday 17 December 2021 20:23:32 Tony Dinh wrote:
>>> Add board implementation header and Makefile for Pogoplug V4
>>>
>>> Signed-off-by: Tony Dinh <mibodhi at gmail.com>
>>> ---
>>>
>>> board/cloudengines/pogo_v4/Makefile | 10 ++++++++
>>> board/cloudengines/pogo_v4/pogo_v4.h | 36 ++++++++++++++++++++++++++++
>>> 2 files changed, 46 insertions(+)
>>> create mode 100644 board/cloudengines/pogo_v4/Makefile
>>> create mode 100644 board/cloudengines/pogo_v4/pogo_v4.h
>>>
>>> diff --git a/board/cloudengines/pogo_v4/Makefile b/board/cloudengines/pogo_v4/Makefile
>>> new file mode 100644
>>> index 0000000000..511bf5ff7e
>>> --- /dev/null
>>> +++ b/board/cloudengines/pogo_v4/Makefile
>>> @@ -0,0 +1,10 @@
>>> +# SPDX-License-Identifier: GPL-2.0+
>>> +#
>>> +# (C) Copyright 2014-2021 Tony Dinh <mibodhi at gmail.com>
>>> +#
>>> +# Based on
>>> +# Marvell Semiconductor <www.marvell.com>
>>> +# Written-by: Prafulla Wadaskar <prafulla at marvell.com>
>>> +#
>>> +
>>> +obj-y := pogo_v4.o
>>> diff --git a/board/cloudengines/pogo_v4/pogo_v4.h b/board/cloudengines/pogo_v4/pogo_v4.h
>>> new file mode 100644
>>> index 0000000000..bf3060de60
>>> --- /dev/null
>>> +++ b/board/cloudengines/pogo_v4/pogo_v4.h
>>> @@ -0,0 +1,36 @@
>>> +/* SPDX-License-Identifier: GPL-2.0+ */
>>> +/*
>>> + * Copyright (C) 2014-2021 Tony Dinh <mibodhi at gmail.com>
>>> + *
>>> + * Based on
>>> + * Copyright (C) 2012 David Purdy <david.c.purdy at gmail.com>
>>> + *
>>> + * Based on Kirkwood support:
>>> + * (C) Copyright 2009
>>> + * Marvell Semiconductor <www.marvell.com>
>>> + * Written-by: Prafulla Wadaskar <prafulla at marvell.com>
>>> + */
>>> +
>>> +#ifndef __POGO_V4_H
>>> +#define __POGO_V4_H
>>> +
>>> +#include <linux/bitops.h>
>>> +
>>> +/* GPIO configuration */
>>> +#define POGO_V4_OE_LOW (~(0))
>>> +#define POGO_V4_OE_HIGH (~(0))
>>> +#define POGO_V4_OE_VAL_LOW BIT(29)
>>> +#define POGO_V4_OE_VAL_HIGH 0
>>> +
>>> +/* PHY related */
>>> +#define MV88E1116_LED_FCTRL_REG 10
>>> +#define MV88E1116_CPRSP_CR3_REG 21
>>> +#define MV88E1116_MAC_CTRL_REG 21
>>> +#define MV88E1116_PGADR_REG 22
>>> +#define MV88E1116_RGMII_TXTM_CTRL BIT(4)
>>> +#define MV88E1116_RGMII_RXTM_CTRL BIT(5)
>>> +
>>> +/* button */
>>> +#define BTN_EJECT 29
>>> +
>>> +#endif /* __POGO_V4_H */
>>
>> Hello! As this pogo_v4.h include file is used only in pogo_v4.c source
>> file and contains only few defines, you can move all these defines
>> directly into pogo_v4.c source file. There is no need to export these
>> constants if they are not used by other files or modules.
>
> Sure, but that'll make the .c file harder to read? We've been using
> the .h file since the old days, I think mostly for readability. This
> is a small header file, but for some other boards, the header file is
> quite large.
I fail to see why moving these few lines from the header to the .c file
makes the code harder to read. Especially if the macros / defines are
only used in one specific file, it makes sense to place them in this
file IMHO.
Thanks,
Stefan
More information about the U-Boot
mailing list