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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20150224224639.GA8082@opensource.wolfsonmicro.com>
Date:	Tue, 24 Feb 2015 22:46:39 +0000
From:	Charles Keepax <ckeepax@...nsource.wolfsonmicro.com>
To:	Rob Herring <robherring2@...il.com>
Cc:	Lee Jones <lee.jones@...aro.org>, Rob Herring <robh+dt@...nel.org>,
	Pawel Moll <pawel.moll@....com>,
	Mark Rutland <mark.rutland@....com>,
	ijc+devicetree@...lion.org.ok, Kumar Gala <galak@...eaurora.org>,
	sameo@...ux.intel.org, Mark Brown <broonie@...nel.org>,
	Liam Girdwood <lgirdwood@...il.com>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>
Subject: Re: [PATCH] mfd: arizona: Move useful defines into a dt-binding
	include

On Mon, Feb 23, 2015 at 10:00:50AM -0600, Rob Herring wrote:
> On Wed, Feb 18, 2015 at 5:03 AM, Charles Keepax
> <ckeepax@...nsource.wolfsonmicro.com> wrote:
> > Move parts of linux/mfd/arizona/pdata.h and gpio.h into a new file in
> > the dt-binding directory for use by device tree bindings. This also
> > makes gpio.h redundant so remove it in the process.
> >
> > Signed-off-by: Charles Keepax <ckeepax@...nsource.wolfsonmicro.com>
> > ---
> >  include/dt-bindings/mfd/arizona.h |  109 +++++++++++++++++++++++++++++++++++++
> >  include/linux/mfd/arizona/gpio.h  |   96 --------------------------------
> >  include/linux/mfd/arizona/pdata.h |   46 +---------------
> >  sound/soc/codecs/arizona.c        |    1 -
> >  4 files changed, 110 insertions(+), 142 deletions(-)
> >  create mode 100644 include/dt-bindings/mfd/arizona.h
> >  delete mode 100644 include/linux/mfd/arizona/gpio.h
> >
> > diff --git a/include/dt-bindings/mfd/arizona.h b/include/dt-bindings/mfd/arizona.h
> > new file mode 100644
> > index 0000000..f2a4821
> > --- /dev/null
> > +++ b/include/dt-bindings/mfd/arizona.h
> > @@ -0,0 +1,109 @@
> > +/*
> > + * Device Tree defines for Arizona devices
> > + *
> > + * Copyright 2014 Wolfson Microelectronics. PLC.
> > + *
> > + * Author: Charles Keepax <ckeepax@...nsource.wolfsonmicro.com>
> > + *
> > + * This program is free software; you can redistribute it and/or modify
> > + * it under the terms of the GNU General Public License version 2 as
> > + * published by the Free Software Foundation.
> > + */
> > +
> > +#ifndef _DT_BINDINGS_MFD_ARIZONA_H
> > +#define _DT_BINDINGS_MFD_ARIZONA_H
> > +
> > +#define ARIZONA_GP_FN_TXLRCLK                    0x00
> > +#define ARIZONA_GP_FN_GPIO                       0x01
> 
> These are all register offsets? If so, I don't think they belong in dts files.

These are the various functions that the chips GPIO pins can be
set to. They are values rather than register offsets.

> 
> > +#define ARIZONA_GP_FN_IRQ1                       0x02
> > +#define ARIZONA_GP_FN_IRQ2                       0x03
> > +#define ARIZONA_GP_FN_ASYNC_OPCLK                0x3D
> > +#define ARIZONA_GP_FN_BOOT_DONE                  0x44
> > +#define ARIZONA_GP_FN_DSP1_RAM_READY             0x45
> > +#define ARIZONA_GP_FN_SYSCLK_ENA_STATUS          0x4B
> > +#define ARIZONA_GP_FN_ASYNCCLK_ENA_STATUS        0x4C
> > +
> > +#define ARIZONA_GPN_DIR                          0x8000  /* GPN_DIR */
> > +#define ARIZONA_GPN_DIR_MASK                     0x8000  /* GPN_DIR */
> > +#define ARIZONA_GPN_DIR_SHIFT                        15  /* GPN_DIR */
> > +#define ARIZONA_GPN_DIR_WIDTH                         1  /* GPN_DIR */
> 
> Similarly, how do you intend to use these in dts files?
> 
> Rob

Admittedly, the shift and width defines are unlikely to see use
in the DT file, I will do a respin to filter those out.

The defines themselves are settings for the GPIO pins again.
Direction, pull up, pull down. These all go into the
wlf,gpio-defaults field in the DT binding.

So instead of:

        wlf,gpio-defaults = <
                0x00000000 /* AIF1TXLRCLK */
                0xffffffff
                0xffffffff
                0xffffffff
                0xffffffff
        >;

We can write something a little more readable like:

        wlf,gpio-defaults = <
                ARIZONA_GP_FN_TXLRCLK
                0xffffffff
                0xffffffff
                0xffffffff
                0xffffffff
        >;

Although looking at that example I feel like I should add a
define for the default value (triggered by an out of range value
such as 0xffffffff).

Thanks,
Charles
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ