netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Inaky Perez-Gonzalez <inaky@linux.intel.com>
To: Tomas Winkler <tomasw@gmail.com>
Cc: Johannes Berg <johannes@sipsolutions.net>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"linville@tuxdriver.com" <linville@tuxdriver.com>,
	"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
	"Zhu, Yi" <yi.zhu@intel.com>,
	"Kao, Cindy H" <cindy.h.kao@intel.com>,
	"Cohen, Guy" <guy.cohen@intel.com>,
	"Rindjunsky, Ron" <ron.rindjunsky@intel.com>
Subject: Re: [PATCH 1/3] iwmc3200top: Add Intel Wireless MultiCom 3200 top driver.
Date: Wed, 23 Sep 2009 10:48:14 -0700	[thread overview]
Message-ID: <1253728094.3033.240.camel@localhost.localdomain> (raw)
In-Reply-To: <1ba2fa240909230023v17fe2b49v4981d464dba469ed@mail.gmail.com>

On Wed, 2009-09-23 at 01:23 -0600, Tomas Winkler wrote:
> On Wed, Sep 23, 2009 at 9:57 AM, Johannes Berg
> <johannes@sipsolutions.net> wrote:
> > On Wed, 2009-09-23 at 02:38 +0300, Tomas Winkler wrote:
> >
> >> +config IWMC3200TOP
> >> +        tristate "Intel Wireless MultiCom Top Driver"
> >> +        depends on MMC && EXPERIMENTAL
> >> +        select FW_LOADER
> >> +     ---help---
> >> +       Intel Wireless MultiCom 3200 Top driver is responsible for
> >> +       for firmware load and enabled coms enumeration
> >
> > This seems like the wrong approach to me.
> >
> > To me, it seems like you have a device that contains an internal bus and
> > allows bus enumeration. Typically, we would surface that bus in the
> > driver/device model and allow sub-drivers to bind to that by way of
> > exposing the internal bus, like e.g. drivers/ssb/.
> 
> From HW perspective your assumption is not exactly correct. All the
> devices are visible on the SDIO bus but they are not operational
> (probe won't succeed) until TOP download the firmware and kicks the
> devices. From SW perspective to create another bus layer is an option.
> I'm not sure if it's not more complicated one.

It is definitely more complicated; we thought about it and it wasn't
worth. The current solution works and it is simple enough.

To extend Tomas' explanation:

1 device powers up
2 enabling any sdio function that is not the top one fails; drivers
  return -ENODEV
3 top function is enabled, firmware loaded, it initializes
  the rest of the functions. Top driver kicks a SDIO bus rescan
  on a workqueue
4 other sdio functions can be enabled and probe succesfully (uploading
  firmware, yadah yadah).

A subbus would add a lot of complexity to all this, having to replicate
most of the device probing, suspend/resume, pre/post reset (that's is 
being added to SDIO).

Thanks,




  parent reply	other threads:[~2009-09-23 17:48 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-22 23:38 [PATCH 0/3 net] Add iwmc3200top driver Tomas Winkler
2009-09-22 23:38 ` [PATCH 1/3] iwmc3200top: Add Intel Wireless MultiCom 3200 top driver Tomas Winkler
2009-09-23  6:57   ` Johannes Berg
     [not found]     ` <1253689036.4458.22.camel-YfaajirXv2244ywRPIzf9A@public.gmane.org>
2009-09-23  7:23       ` Tomas Winkler
2009-09-23  7:34         ` Johannes Berg
     [not found]           ` <1253691283.4458.38.camel-YfaajirXv2244ywRPIzf9A@public.gmane.org>
2009-09-23 12:29             ` Tomas Winkler
2009-09-23 17:48         ` Inaky Perez-Gonzalez [this message]
2009-10-10  9:38   ` Tomas Winkler
     [not found]     ` <1ba2fa240910100238s709c31d3s6cb612f502b1086f-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-11  1:58       ` David Miller
     [not found]         ` <20091010.185852.133969433.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2009-10-11  7:40           ` Eric Dumazet
2009-10-12  6:07             ` David Miller
2009-10-11  8:05         ` Tomas Winkler
2009-10-11 10:36           ` David Miller
2009-10-11 13:07             ` Tomas Winkler
2009-10-12 13:17             ` John W. Linville
     [not found]   ` <1253662724-16497-2-git-send-email-tomas.winkler-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2009-09-22 23:38     ` [PATCH 2/3] iwmc3200wifi: select IWMC3200TOP in Kconfig Tomas Winkler
2009-09-22 23:38       ` [PATCH 3/3] i2400m-sdio: " Tomas Winkler
     [not found]         ` <1253662724-16497-4-git-send-email-tomas.winkler-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2009-09-23  0:44           ` Marcel Holtmann
     [not found]             ` <1253666644.2931.7.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-09-23  5:36               ` Tomas Winkler
     [not found]       ` <1253662724-16497-3-git-send-email-tomas.winkler-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2009-09-29  9:22         ` [PATCH 2/3] iwmc3200wifi: " Zhu Yi
2009-10-10 11:01     ` [PATCH 1/3] iwmc3200top: Add Intel Wireless MultiCom 3200 top driver Marcel Holtmann
     [not found]       ` <1255172508.19127.22.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-10-10 18:05         ` Tomas Winkler
2009-10-11  1:59           ` David Miller

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=1253728094.3033.240.camel@localhost.localdomain \
    --to=inaky@linux.intel.com \
    --cc=cindy.h.kao@intel.com \
    --cc=davem@davemloft.net \
    --cc=guy.cohen@intel.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=netdev@vger.kernel.org \
    --cc=ron.rindjunsky@intel.com \
    --cc=tomasw@gmail.com \
    --cc=yi.zhu@intel.com \
    /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).