From: "Samuel Iglesias Gonsálvez" <siglesias@igalia.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/5] Staging: ipack: add proper device model into ipack_bus_register.
Date: Tue, 15 May 2012 16:11:38 +0200 [thread overview]
Message-ID: <1337091098.3472.58.camel@fourier.local.igalia.com> (raw)
In-Reply-To: <20120514204654.GA8723@kroah.com>
On Mon, 2012-05-14 at 13:46 -0700, Greg Kroah-Hartman wrote:
> On Mon, May 14, 2012 at 12:41:26PM +0200, Samuel Iglesias Gonsalvez wrote:
> > This patch adds a proper device model to the driver. The carrier boards are
> > managed like other ipack device, the way to recognize them is using the
> > platform data field from struct device.
>
> Wait, what? Why would you use the platform data field? Why is that
> needed at all? You can specify the "type" of the device, but it seems
> that you really want two different things here, busses and devices,
> right? So use two different devices and manage them differently, don't
> make them the "same but different" by looking at the platform data
> field. That's not what the platform data field is for at all, sorry.
I don't use platform_data to tell apart the devices from buses.
Although they don't have auto-discovery, the buses drivers do the
matching. I am not avoiding this step.
The "real" bus devices are already registered in PCI, USB, VME, etc, as
their interface with the rest of the system is through one of these
buses. The problem is to make a relation between a ipack bus device and
its driver, if we want it to be a registered device in ipack, as this
patch does.
Platform_data field is filled with the driver that the device belongs
to, facilitating the task.
There is a similar example in the VME bus with the devices that don't
support auto-discovery, as shown in drivers/staging/vme/vme.c in the
vme_bus_match() function.
Another option is what you say: use two different devices and manage
them differently. It will be needed to add new match/probe functions and
do similar stuff due to the lack of auto-discovery at this case.
A third option is use bus devices like VME bridges in the vme bus
driver, i.e, they are not devices, just an abstraction that provides
some functionality to the mezzanine devices.
I prefer the first option because it reuses the code of the probe/match
functions inside the ipack bus driver and it shows the hierarchy through
sysfs as everything is a registered device.
What do you think?
Sam
next prev parent reply other threads:[~2012-05-15 14:11 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-14 10:41 [PATCH 0/5] Staging ipack: device model and clean-up Samuel Iglesias Gonsalvez
2012-05-14 10:41 ` [PATCH 1/5] Staging ipack: fix a few sparse warnings Samuel Iglesias Gonsalvez
2012-05-14 12:26 ` Dan Carpenter
2012-05-14 12:53 ` Samuel Iglesias Gonsálvez
2012-05-14 10:41 ` [PATCH 2/5] Staging: ipack: add proper device model into ipack_bus_register Samuel Iglesias Gonsalvez
2012-05-14 20:46 ` Greg Kroah-Hartman
2012-05-15 14:11 ` Samuel Iglesias Gonsálvez [this message]
2012-05-15 15:13 ` Samuel Iglesias Gonsálvez
2012-05-14 10:41 ` [PATCH 3/5] Staging: ipack: remove board_name and bus_name fields from struct ipack_device Samuel Iglesias Gonsalvez
2012-05-14 10:41 ` [PATCH 4/5] Staging ipack/bridges/tpci200: remove TPCI200_SHORTNAME constant Samuel Iglesias Gonsalvez
2012-05-14 10:41 ` [PATCH 5/5] Staging: ipack/devices/ipoctal: check for availability of helper functions in ipoctal_match() Samuel Iglesias Gonsalvez
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=1337091098.3472.58.camel@fourier.local.igalia.com \
--to=siglesias@igalia.com \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.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
all inboxes | Powered by JetHome®