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:   Tue, 2 Jan 2018 15:51:44 +0000
From:   Lee Jones <lee.jones@...aro.org>
To:     Paul Cercueil <paul@...pouillou.net>
Cc:     Michael Turquette <mturquette@...libre.com>,
        Stephen Boyd <sboyd@...eaurora.org>,
        Rob Herring <robh+dt@...nel.org>,
        Mark Rutland <mark.rutland@....com>,
        Thomas Gleixner <tglx@...utronix.de>,
        Jason Cooper <jason@...edaemon.net>,
        Marc Zyngier <marc.zyngier@....com>,
        Daniel Lezcano <daniel.lezcano@...aro.org>,
        linux-clk@...r.kernel.org, devicetree@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 1/6] mfd: syscon: Add ingenic-tcu.h header

On Mon, 01 Jan 2018, Paul Cercueil wrote:

> This header contains macros for the registers that are present in the
> regmap shared by all the drivers related to the TCU (Timer Counter Unit)
> of the Ingenic JZ47xx SoCs.
> 
> Signed-off-by: Paul Cercueil <paul@...pouillou.net>
> ---
>  include/linux/mfd/syscon/ingenic-tcu.h | 57 ++++++++++++++++++++++++++++++++++
>  1 file changed, 57 insertions(+)
>  create mode 100644 include/linux/mfd/syscon/ingenic-tcu.h
> 
>  v2: Use SPDX identifier for the license
> 
> diff --git a/include/linux/mfd/syscon/ingenic-tcu.h b/include/linux/mfd/syscon/ingenic-tcu.h
> new file mode 100644
> index 000000000000..5962165e1309
> --- /dev/null
> +++ b/include/linux/mfd/syscon/ingenic-tcu.h
> @@ -0,0 +1,57 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/*
> + * Header file for the Ingenic JZ47xx TCU driver
> + */
> +#ifndef __LINUX_CLK_INGENIC_TCU_H_
> +#define __LINUX_CLK_INGENIC_TCU_H_
> +
> +#include <linux/bitops.h>
> +#include <linux/regmap.h>
> +
> +enum ingenic_tcu_reg {
> +	REG_WDT_TDR	= 0x00,
> +	REG_WDT_TCER	= 0x04,
> +	REG_WDT_TCNT	= 0x08,
> +	REG_WDT_TCSR	= 0x0c,
> +	REG_TER		= 0x10,
> +	REG_TESR	= 0x14,
> +	REG_TECR	= 0x18,
> +	REG_TSR		= 0x1c,
> +	REG_TFR		= 0x20,
> +	REG_TFSR	= 0x24,
> +	REG_TFCR	= 0x28,
> +	REG_TSSR	= 0x2c,
> +	REG_TMR		= 0x30,
> +	REG_TMSR	= 0x34,
> +	REG_TMCR	= 0x38,
> +	REG_TSCR	= 0x3c,
> +	REG_TDFR0	= 0x40,
> +	REG_TDHR0	= 0x44,
> +	REG_TCNT0	= 0x48,
> +	REG_TCSR0	= 0x4c,
> +	REG_OST_DR	= 0xe0,
> +	REG_OST_CNTL	= 0xe4,
> +	REG_OST_CNTH	= 0xe8,
> +	REG_OST_TCSR	= 0xec,
> +	REG_TSTR	= 0xf0,
> +	REG_TSTSR	= 0xf4,
> +	REG_TSTCR	= 0xf8,
> +	REG_OST_CNTHBUF	= 0xfc,
> +};

I don't see a need to have declare these as enums.

> +#define TCSR_RESERVED_BITS		0x3f
> +#define TCSR_PARENT_CLOCK_MASK		0x07
> +#define TCSR_PRESCALE_LSB		3
> +#define TCSR_PRESCALE_MASK		0x38
> +
> +#define TCSR_PWM_SD		BIT(9)  /* 0: Shutdown abruptly 1: gracefully */
> +#define TCSR_PWM_INITL_HIGH	BIT(8)  /* Sets the initial output level */
> +#define TCSR_PWM_EN		BIT(7)  /* PWM pin output enable */
> +
> +#define CHANNEL_STRIDE		0x10
> +#define REG_TDFRc(c)		(REG_TDFR0 + ((c) * CHANNEL_STRIDE))
> +#define REG_TDHRc(c)		(REG_TDHR0 + ((c) * CHANNEL_STRIDE))
> +#define REG_TCNTc(c)		(REG_TCNT0 + ((c) * CHANNEL_STRIDE))
> +#define REG_TCSRc(c)		(REG_TCSR0 + ((c) * CHANNEL_STRIDE))

It'd be a good idea to namespace all of these pre-processed definitions.

> +#endif /* __LINUX_CLK_INGENIC_TCU_H_ */

-- 
Lee Jones
Linaro Services Technical Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ