linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Roland Stigge <stigge-uj/7R2tJ6VmzQB+pC5nmwQ@public.gmane.org>
To: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
Cc: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: Device tree conversion of spi device vs. controller_data
Date: Fri, 13 Apr 2012 09:10:15 +0200	[thread overview]
Message-ID: <4F87D157.2020700@antcom.de> (raw)
In-Reply-To: <20120413032945.0C76B3E07AC@localhost>

On 04/13/2012 05:29 AM, Grant Likely wrote:
>> upon DT conversion of LPC32xx, I came across the at25 spi eeprom which
>> needs .controller_data in struct spi_board_info for slave registration
>> via spi_register_board_info() (non-DT-case).
>>
>> In the DT case, we need to eliminate this explicit registering call.
>> Therefore, I need to somehow replace the .controller_data passing in the
>> DT case to pass this data to the spi core. But I can't find such a
>> mechanism (v3.4-rc2). Is there already a concept or API that I
>> overlooked (please just point me to it) or what can I do to solve this?
>> (Looks like a general issue for spi slave registration via DT).
> 
> Can you point me at specific code?
> 
> .controller_data is owned by the spi_master driver.  The eeprom driver
> shouldn't be accessing it directly at all; but I'll need to look at
> specific code to really understand what is going on.

Please have a look at arch/arm/mach-lpc32xx/phy3250.c :

static struct pl022_config_chip spi0_chip_info = {
        .com_mode               = INTERRUPT_TRANSFER,
        .iface                  = SSP_INTERFACE_MOTOROLA_SPI,
        .hierarchy              = SSP_MASTER,
        .slave_tx_disable       = 0,
        .rx_lev_trig            = SSP_RX_4_OR_MORE_ELEM,
        .tx_lev_trig            = SSP_TX_4_OR_MORE_EMPTY_LOC,
        .ctrl_len               = SSP_BITS_8,
        .wait_state             = SSP_MWIRE_WAIT_ZERO,
        .duplex                 = SSP_MICROWIRE_CHANNEL_FULL_DUPLEX,
        .cs_control             = phy3250_spi_cs_set,
};

...

        static struct spi_eeprom eeprom = {
                .name = "at25256a",
                .byte_len = 0x8000,
                .page_size = 64,
                .flags = EE_ADDR2,
        };

        static struct spi_board_info info[] = {
                {
                        .modalias = "at25",
                        .max_speed_hz = 5000000,
                        .bus_num = 0,
                        .chip_select = 0,
                        .mode = SPI_MODE_0,
                        .platform_data = &eeprom,
                        .controller_data = &spi0_chip_info,
                },
        };

	spi_register_board_info(info, ARRAY_SIZE(info));

Trying to replace .controller_data at this point with device tree
settings passing, I struggled with missing resp. node properties.

Any hint how this can be done?

Thanks in advance,

Roland

------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2

  reply	other threads:[~2012-04-13  7:10 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-08 10:24 Device tree conversion of spi device vs. controller_data Roland Stigge
     [not found] ` <4F816772.5000607-uj/7R2tJ6VmzQB+pC5nmwQ@public.gmane.org>
2012-04-13  3:29   ` Grant Likely
2012-04-13  7:10     ` Roland Stigge [this message]
     [not found]       ` <4F87D157.2020700-uj/7R2tJ6VmzQB+pC5nmwQ@public.gmane.org>
2012-04-27 18:03         ` Grant Likely
2012-04-28 10:39           ` Roland Stigge

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F87D157.2020700@antcom.de \
    --to=stigge-uj/7r2tj6vmzqb+pc5nmwq@public.gmane.org \
    --cc=grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).