All of lore.kernel.org
 help / color / mirror / Atom feed
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 01/11] mfd: add pruss mfd driver.
Date: Tue, 10 May 2011 23:44:58 +0200	[thread overview]
Message-ID: <201105102344.58598.arnd@arndb.de> (raw)
In-Reply-To: <FBFC0000E34D487086421780A0F5252A@subhasishg>

On Tuesday 10 May 2011, Subhasish Ghosh wrote:
> > Instead of passing a configuration file into the MFD driver and
> > calling it a firmware, I can see three other options that I believe
> > would be nicer:
> > 
> > 1. have a single firmware blob that describes the child devices
> > and the code that is to be loaded into both units. If they are
> > acting as one device, either make sure you only create one
> > child node, or create one with a name that no driver binds to.
> > 
> > 2. Call request_firmware separately for the two child devices,
> > and configure them separately based on the information in the
> > firmware files. In the case where they should act as a single
> > device, call the children e.g. "pruss-uart-a" and "pruss-uart-b",
> > then bind to both names in the pruss-uart drivers and only
> > start using the device when you have both nodes for the same
> > parent.
> > 
> > 3. Do the configuration through sysfs files in the MFD device node,
> > which then cause the creation of the child devices. This means you
> > need extra user space scripts to write the addititonal files, but
> > is also the most flexible way.
> > 
> 
> Are you suggesting something like:
> 
> /sys..../pruss/pru0/id
> /sys..../pruss/pru0/fw_name
> /sys..../pruss/pru0/load
> 
> /sys..../pruss/pru1/id
> /sys..../pruss/pru1/fw_name
> /sys..../pruss/pru1/load

No, that is none of the three I suggested.

> I can program these configs and store them in the pru private.
> Then write something into load.
> This can load the PRU based upon the configs.
> But, I am not sure how to do this effectively using sysfs,
> I mean I don't want to end up writing six write and six read
> handlers. 

Please look into implementing one of the three I suggested before
you go off in another direction. In case of the third one, the idea
was to configure the name of the device for each pru using sysfs,
which then gets bound to the driver, which loads its own firmware
as you do today. Only in the first two suggestions, the mfd driver
would be responsible for loading the firmware.

	Arnd

WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@arndb.de>
To: "Subhasish Ghosh" <subhasish@mistralsolutions.com>
Cc: "Nori, Sekhar" <nsekhar@ti.com>,
	linux-arm-kernel@lists.infradead.org,
	davinci-linux-open-source@linux.davincidsp.com,
	sachi@mistralsolutions.com,
	"Samuel Ortiz" <sameo@linux.intel.com>,
	"open list" <linux-kernel@vger.kernel.org>,
	"Watkins, Melissa" <m-watkins@ti.com>
Subject: Re: [PATCH v4 01/11] mfd: add pruss mfd driver.
Date: Tue, 10 May 2011 23:44:58 +0200	[thread overview]
Message-ID: <201105102344.58598.arnd@arndb.de> (raw)
In-Reply-To: <FBFC0000E34D487086421780A0F5252A@subhasishg>

On Tuesday 10 May 2011, Subhasish Ghosh wrote:
> > Instead of passing a configuration file into the MFD driver and
> > calling it a firmware, I can see three other options that I believe
> > would be nicer:
> > 
> > 1. have a single firmware blob that describes the child devices
> > and the code that is to be loaded into both units. If they are
> > acting as one device, either make sure you only create one
> > child node, or create one with a name that no driver binds to.
> > 
> > 2. Call request_firmware separately for the two child devices,
> > and configure them separately based on the information in the
> > firmware files. In the case where they should act as a single
> > device, call the children e.g. "pruss-uart-a" and "pruss-uart-b",
> > then bind to both names in the pruss-uart drivers and only
> > start using the device when you have both nodes for the same
> > parent.
> > 
> > 3. Do the configuration through sysfs files in the MFD device node,
> > which then cause the creation of the child devices. This means you
> > need extra user space scripts to write the addititonal files, but
> > is also the most flexible way.
> > 
> 
> Are you suggesting something like:
> 
> /sys..../pruss/pru0/id
> /sys..../pruss/pru0/fw_name
> /sys..../pruss/pru0/load
> 
> /sys..../pruss/pru1/id
> /sys..../pruss/pru1/fw_name
> /sys..../pruss/pru1/load

No, that is none of the three I suggested.

> I can program these configs and store them in the pru private.
> Then write something into load.
> This can load the PRU based upon the configs.
> But, I am not sure how to do this effectively using sysfs,
> I mean I don't want to end up writing six write and six read
> handlers. 

Please look into implementing one of the three I suggested before
you go off in another direction. In case of the third one, the idea
was to configure the name of the device for each pru using sysfs,
which then gets bound to the driver, which loads its own firmware
as you do today. Only in the first two suggestions, the mfd driver
would be responsible for loading the firmware.

	Arnd

  reply	other threads:[~2011-05-10 21:44 UTC|newest]

Thread overview: 162+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-22 12:08 [PATCH v4 00/11] pruss mfd drivers Subhasish Ghosh
2011-04-22 11:50 ` [PATCH v4 08/11] tty: add pruss SUART driver Subhasish Ghosh
2011-04-22 12:08   ` Subhasish Ghosh
2011-04-25 21:20   ` Greg KH
2011-04-25 21:20     ` Greg KH
2011-04-26  6:51     ` Nori, Sekhar
2011-04-26  6:51       ` Nori, Sekhar
2011-04-26 12:45       ` Greg KH
2011-04-26 12:45         ` Greg KH
2011-04-27  5:23         ` Subhasish Ghosh
2011-04-27  5:23           ` Subhasish Ghosh
2011-04-27 11:19           ` Nori, Sekhar
2011-04-27 11:19             ` Nori, Sekhar
2011-04-27 13:15             ` Subhasish Ghosh
2011-04-27 13:15               ` Subhasish Ghosh
2011-04-27 17:50               ` Nori, Sekhar
2011-04-27 17:50                 ` Nori, Sekhar
2011-05-02  8:34                 ` Subhasish Ghosh
2011-05-02  8:34                   ` Subhasish Ghosh
2011-05-02 17:15                   ` Nori, Sekhar
2011-05-02 17:15                     ` Nori, Sekhar
2011-05-10 10:54             ` Subhasish Ghosh
2011-05-10 10:54               ` Subhasish Ghosh
2011-05-10 13:13               ` Nori, Sekhar
2011-05-10 13:13                 ` Nori, Sekhar
2011-05-13 12:10                 ` Subhasish Ghosh
2011-05-13 12:10                   ` Subhasish Ghosh
2011-05-09 13:39   ` Subhasish Ghosh
2011-05-09 13:39     ` Subhasish Ghosh
2011-05-09 13:46     ` Alan Cox
2011-05-09 13:46       ` Alan Cox
2011-05-09 13:50       ` Subhasish Ghosh
2011-05-09 13:50         ` Subhasish Ghosh
2011-05-09 13:55         ` Alan Cox
2011-05-09 13:55           ` Alan Cox
2011-05-10  6:17           ` Subhasish Ghosh
2011-05-10  6:17             ` Subhasish Ghosh
2011-05-10 13:32             ` Alan Cox
2011-05-10 13:32               ` Alan Cox
2011-05-11  7:01               ` Subhasish Ghosh
2011-05-11  7:01                 ` Subhasish Ghosh
2011-05-11 10:35                 ` Alan Cox
2011-05-11 10:35                   ` Alan Cox
2011-04-22 12:08 ` [PATCH v4 01/11] mfd: add pruss mfd driver Subhasish Ghosh
2011-04-22 12:08   ` Subhasish Ghosh
2011-04-22 16:00   ` Marc Kleine-Budde
2011-04-22 16:00     ` Marc Kleine-Budde
2011-04-27  6:39     ` Subhasish Ghosh
2011-04-27  6:39       ` Subhasish Ghosh
2011-04-27  7:29       ` Marc Kleine-Budde
2011-04-27  7:29         ` Marc Kleine-Budde
2011-04-27  9:12         ` Russell King - ARM Linux
2011-04-27  9:12           ` Russell King - ARM Linux
2011-04-27 13:18           ` Subhasish Ghosh
2011-04-27 13:18             ` Subhasish Ghosh
2011-04-27 13:35             ` Marc Kleine-Budde
2011-04-27 13:35               ` Marc Kleine-Budde
2011-04-28  7:22               ` Subhasish Ghosh
2011-04-28  7:22                 ` Subhasish Ghosh
2011-04-28  7:46                 ` Arnd Bergmann
2011-04-28  7:46                   ` Arnd Bergmann
2011-04-27 13:16   ` Arnd Bergmann
2011-04-27 13:16     ` Arnd Bergmann
2011-04-27 13:38     ` Subhasish Ghosh
2011-04-27 13:38       ` Subhasish Ghosh
2011-04-27 14:05       ` Arnd Bergmann
2011-04-27 14:05         ` Arnd Bergmann
2011-04-28  7:17         ` Subhasish Ghosh
2011-04-28  7:17           ` Subhasish Ghosh
2011-04-28  7:35           ` Arnd Bergmann
2011-04-28  7:35             ` Arnd Bergmann
2011-05-04  7:18             ` Subhasish Ghosh
2011-05-04  7:18               ` Subhasish Ghosh
2011-05-04 13:44               ` Arnd Bergmann
2011-05-04 13:44                 ` Arnd Bergmann
2011-05-04 14:38               ` Nori, Sekhar
2011-05-04 14:38                 ` Nori, Sekhar
2011-05-05 13:25                 ` Subhasish Ghosh
2011-05-05 13:25                   ` Subhasish Ghosh
2011-05-05 14:12                   ` Arnd Bergmann
2011-05-05 14:12                     ` Arnd Bergmann
2011-05-10  9:53                     ` Subhasish Ghosh
2011-05-10  9:53                       ` Subhasish Ghosh
2011-05-10 21:44                       ` Arnd Bergmann [this message]
2011-05-10 21:44                         ` Arnd Bergmann
2011-05-11  9:28                         ` Subhasish Ghosh
2011-05-11  9:28                           ` Subhasish Ghosh
2011-05-11 20:03                           ` Arnd Bergmann
2011-05-11 20:03                             ` Arnd Bergmann
2011-05-13 10:55                             ` Subhasish Ghosh
2011-05-13 10:55                               ` Subhasish Ghosh
2011-05-14 16:01                               ` Mark Brown
2011-05-14 16:01                                 ` Mark Brown
2011-05-14 20:33                                 ` Arnd Bergmann
2011-05-14 20:33                                   ` Arnd Bergmann
2011-05-14 22:14                                   ` Mark Brown
2011-05-14 22:14                                     ` Mark Brown
2011-05-15  9:33                                     ` Arnd Bergmann
2011-05-15  9:33                                       ` Arnd Bergmann
2011-05-16  6:06                                       ` Subhasish Ghosh
2011-05-16  6:06                                         ` Subhasish Ghosh
2011-05-23 15:30                                         ` Arnd Bergmann
2011-05-23 15:30                                           ` Arnd Bergmann
2011-05-24 12:17                                           ` Subhasish Ghosh
2011-05-24 12:17                                             ` Subhasish Ghosh
2011-05-24 12:40                                             ` Arnd Bergmann
2011-05-24 12:40                                               ` Arnd Bergmann
2011-05-24 13:43                                               ` Greg KH
2011-05-24 13:43                                                 ` Greg KH
2011-05-30 13:25                                                 ` Subhasish Ghosh
2011-05-30 13:25                                                   ` Subhasish Ghosh
2011-05-30 14:02                                                   ` Greg KH
2011-05-30 14:02                                                     ` Greg KH
2011-05-30 14:38                                                     ` Subhasish Ghosh
2011-05-30 14:38                                                       ` Subhasish Ghosh
2011-05-30 14:04                                                   ` Arnd Bergmann
2011-05-30 14:04                                                     ` Arnd Bergmann
2011-05-30 14:13                                                     ` Subhasish Ghosh
2011-05-30 14:13                                                       ` Subhasish Ghosh
2011-05-30 14:43                                                       ` Arnd Bergmann
2011-05-30 14:43                                                         ` Arnd Bergmann
2011-05-30 15:28                                                         ` Subhasish Ghosh
2011-05-30 15:28                                                           ` Subhasish Ghosh
2011-05-22 20:24                                   ` Samuel Ortiz
2011-05-22 20:24                                     ` Samuel Ortiz
2011-05-22 20:21                             ` Samuel Ortiz
2011-05-22 20:21                               ` Samuel Ortiz
2011-05-23 15:13                               ` Arnd Bergmann
2011-05-23 15:13                                 ` Arnd Bergmann
2011-04-22 12:08 ` [PATCH v4 02/11] da850: add pruss clock Subhasish Ghosh
2011-04-22 12:08   ` Subhasish Ghosh
2011-04-22 12:08 ` [PATCH v4 03/11] da850: pruss platform specific additions Subhasish Ghosh
2011-04-22 12:08   ` Subhasish Ghosh
2011-04-26 11:06   ` Sergei Shtylyov
2011-04-26 11:06     ` Sergei Shtylyov
2011-04-27  6:43     ` Subhasish Ghosh
2011-04-27  6:43       ` Subhasish Ghosh
2011-04-27 10:05       ` Sergei Shtylyov
2011-04-27 10:05         ` Sergei Shtylyov
2011-04-27 10:19         ` Subhasish Ghosh
2011-04-27 10:19           ` Subhasish Ghosh
2011-04-22 12:08 ` [PATCH v4 04/11] da850: pruss board " Subhasish Ghosh
2011-04-22 12:08   ` Subhasish Ghosh
2011-04-22 12:08 ` [PATCH v4 05/11] mfd: pruss SUART private data Subhasish Ghosh
2011-04-22 12:08   ` Subhasish Ghosh
2011-04-22 12:08 ` [PATCH v4 06/11] da850: pruss SUART board specific additions Subhasish Ghosh
2011-04-22 12:08   ` Subhasish Ghosh
2011-04-22 12:08 ` [PATCH v4 07/11] da850: pruss SUART platform " Subhasish Ghosh
2011-04-22 12:08   ` Subhasish Ghosh
2011-04-22 12:08 ` [PATCH v4 09/11] mfd: pruss CAN private data Subhasish Ghosh
2011-04-22 12:08   ` Subhasish Ghosh
2011-04-22 12:08 ` [PATCH v4 10/11] da850: pruss CAN platform specific additions Subhasish Ghosh
2011-04-22 12:08   ` Subhasish Ghosh
2011-04-22 12:08 ` [PATCH v4 11/11] da850: pruss CAN board " Subhasish Ghosh
2011-04-22 12:08   ` Subhasish Ghosh
2011-04-22 16:03   ` Marc Kleine-Budde
2011-04-22 16:03     ` Marc Kleine-Budde
2011-04-26 10:57   ` Sergei Shtylyov
2011-04-26 10:57     ` Sergei Shtylyov
2011-04-27  7:03     ` Subhasish Ghosh
2011-04-27  7:03       ` Subhasish Ghosh
  -- strict thread matches above, loose matches on Subject: below --
2011-05-20  5:38 [PATCH v4 01/11] mfd: add pruss mfd driver Subhasish Ghosh

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=201105102344.58598.arnd@arndb.de \
    --to=arnd@arndb.de \
    --cc=linux-arm-kernel@lists.infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.