linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Russell King - ARM Linux <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>
To: Ohad Ben-Cohen <ohad-Ix1uc/W3ht7QT0dZR+AlfA@public.gmane.org>
Cc: Vitaly Wool <vitalywool-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Kalle Valo <kalle.valo-X3B1VOXEql0@public.gmane.org>,
	Pandita Vikram <vikram.pandita-l0cyMroinI0@public.gmane.org>,
	Nicolas Pitre <nico-vtqb6HGKxmzR7s880joybQ@public.gmane.org>,
	Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>,
	linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Roger Quadros
	<roger.quadros-xNZwKgViW5gAvxtiuMwx3w@public.gmane.org>,
	linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	San Mehat <san-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
	Chikkature Rajashekar Madhusudhan
	<madhu.cr-l0cyMroinI0@public.gmane.org>,
	Luciano Coelho
	<luciano.coelho-xNZwKgViW5gAvxtiuMwx3w@public.gmane.org>,
	linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH v2 03/20] mmc: support embedded data field in mmc_host
Date: Wed, 4 Aug 2010 12:41:48 +0100	[thread overview]
Message-ID: <20100804114147.GB6852@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <AANLkTinu2S19r8fueM-jVkc35XL2G0Z16BddE92Ci9KB-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

On Wed, Aug 04, 2010 at 02:24:39PM +0300, Ohad Ben-Cohen wrote:
> Hi Vitaly,
> 
> On Tue, Aug 3, 2010 at 5:17 PM, Vitaly Wool <vitalywool-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> > On Mon, Aug 2, 2010 at 11:35 PM, Ohad Ben-Cohen <ohad-Ix1uc/W3ht7QT0dZR+AlfA@public.gmane.org> wrote:
> >> I'm honestly trying to understand your concerns, but I'm afraid that
> >> just saying "it's a hack" is not too informative. Can you please
> >> explain what do you think is technically wrong with the proposed
> >> solution ? is it not general enough for other use cases ? will it
> >> break something ?
> 
> > So if I'd like to set the *same* structure for the *same* WL1271
> > driver, provided that I'm working with the other platform, I'll need
> > to do the following:
> > - add the pointer to the board-specific header;
> > - add the structure to the board-specific C file and propagate its
> > pointer to the controller driver;
> > - add setting the pointer in the core structure into the controller driver.
> >
> > This is far from being intuitive. This means we need to hack,
> > generally speaking, all the MMC controller drivers to get it working
> > on all platforms. This is error prone.
> 
> You make it sound really complex.
> 
> Let's see what it means to add it to a totally different platform.
> 
> As an example, let's take Google's ADP1 which is based on a different
> host controller (msm-sdcc), and add the required support (untested of
> course, just a quick sketch, patch is based on android's msm git):

What if some other driver gets attached and tries to use this
platform data?  This whole idea sounds extremely silly, cumbersome,
error prone, and is inviting misuse by normal MMC sockets.

Why not arrange for a small piece of code to be built into the kernel
when this driver is selected as a module or built-in, which handles
the passing of platform data to the driver?

Something like:

wl12xx_platform_data.c:
#include <linux/module.h>
#include <whatever/required/for/wl12xx.h>

static struct wl12xx_platform_data *platform_data;

int __init wl12xx_set_platform_data(const struct wl12xx_platform_data *data)
{
	if (platform_data)
		return -EBUSY;
	platform_data = kmemdup(data, sizeof(*data), GFP_KERNEL);
	if (!platform_data)
		return -ENOMEM;
	return 0;
}

int wl12xx_get_platform_data(struct wl12xx_platform_data *data)
{
	if (platform_data) {
		memcpy(data, platform_data, sizeof(*data));
		return 0;
	}
	return -ENODEV;
}
EXPORT_SYMBOL(wl12xx_get_platform_data);

And in the Kconfig, something like:

config WL12XX_PLATFORM_DATA
	bool
	depends on WL12XX != n
	default y

This means there'll be no confusion over who owns the 'embedded data',
typechecking is preserved, and no possibility for the wrong driver to
pick up the data.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2010-08-04 11:41 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-21 17:33 [PATCH v2 00/20] native support for wl1271 on ZOOM Ohad Ben-Cohen
2010-07-21 17:33 ` [PATCH v2 01/20] sdio: add TI + wl1271 ids Ohad Ben-Cohen
2010-07-21 17:58   ` Marcel Holtmann
2010-07-22 23:38     ` Ohad Ben-Cohen
2010-07-21 17:33 ` [PATCH v2 02/20] wireless: wl1271: remove SDIO IDs from driver Ohad Ben-Cohen
2010-07-21 17:33 ` [PATCH v2 03/20] mmc: support embedded data field in mmc_host Ohad Ben-Cohen
2010-07-28 19:47   ` Vitaly Wool
2010-07-29  6:00     ` Ohad Ben-Cohen
2010-07-29 16:16       ` Vitaly Wool
2010-08-02 15:54         ` Ohad Ben-Cohen
     [not found]           ` <AANLkTimZQKj7H_GeE=+O9cwxEMTR+LhfFbt=AyXGzN3d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-08-02 16:25             ` Vitaly Wool
2010-08-02 21:35               ` Ohad Ben-Cohen
2010-08-03 14:17                 ` Vitaly Wool
     [not found]                   ` <AANLkTin4m8gJR50zwMB2b0jRMHdNA6CQToKBTAhOL9wF-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-08-04 11:24                     ` Ohad Ben-Cohen
     [not found]                       ` <AANLkTinu2S19r8fueM-jVkc35XL2G0Z16BddE92Ci9KB-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-08-04 11:41                         ` Russell King - ARM Linux [this message]
2010-08-04 12:42                           ` Ohad Ben-Cohen
2010-08-04 14:01                             ` Vitaly Wool
2010-08-06  7:07                             ` Linus Walleij
2010-08-06 10:02                               ` Ohad Ben-Cohen
2010-08-06 14:46                                 ` Russell King - ARM Linux
     [not found]                                   ` <20100806144605.GA21015-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2010-08-06 16:53                                     ` Nicolas Pitre
2010-07-21 17:33 ` [PATCH v2 05/20] omap zoom3: wlan board muxing Ohad Ben-Cohen
2010-07-21 17:33 ` [PATCH v2 06/20] wireless: wl1271: make wl12xx.h common to both spi and sdio Ohad Ben-Cohen
2010-07-21 17:33 ` [PATCH v2 07/20] wireless: wl1271: support return value for the set power func Ohad Ben-Cohen
2010-07-21 17:33 ` [PATCH v2 08/20] wireless: wl1271: take irq info from private board data Ohad Ben-Cohen
2010-07-21 17:33 ` [PATCH v2 10/20] omap: zoom: add fixed regulator device for wlan Ohad Ben-Cohen
2010-07-21 17:59   ` Mark Brown
2010-07-22 11:16     ` Roger Quadros
2010-07-22 23:13       ` Ohad Ben-Cohen
     [not found]         ` <AANLkTin2dyLNo1RMQgLG-4DtN-CsXqNNLAfITXDbMIvl-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-07-23  9:15           ` Mark Brown
2010-07-25 10:40             ` Ohad Ben-Cohen
2010-07-21 17:33 ` [PATCH v2 11/20] omap: hsmmc: support mmc3 regulator power control Ohad Ben-Cohen
2010-07-21 17:33 ` [PATCH v2 14/20] mmc: sdio: fully reconfigure oldcard on resume Ohad Ben-Cohen
2010-07-21 17:33 ` [PATCH v2 15/20] mmc: sdio: verify existence of resume handler Ohad Ben-Cohen
2010-07-21 17:33 ` [PATCH v2 16/20] mmc: introduce API to control the card's power Ohad Ben-Cohen
2010-07-21 17:33 ` [PATCH v2 17/20] mmc: sdio: relocate sdio_set_block_size call Ohad Ben-Cohen
2010-07-21 17:33 ` [PATCH v2 19/20] omap: zoom: keep the MMC3 wl1271 device powered off Ohad Ben-Cohen
2010-07-21 18:55   ` Gabay, Benzy
     [not found]   ` <676FD6AA0F002F49B89E70F0C5EFD22C1311192A47@dlee04.ent.ti.com>
2010-07-22 23:18     ` Ohad Ben-Cohen
     [not found]       ` <AANLkTim3RWv2-qi9UMg1imwKTJuh3GstdjMTxz64uOHf-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-07-26 18:33         ` Gabay, Benzy
     [not found] ` <1279733634-21974-1-git-send-email-ohad-Ix1uc/W3ht7QT0dZR+AlfA@public.gmane.org>
2010-07-21 17:33   ` [PATCH v2 04/20] omap zoom2: wlan board muxing Ohad Ben-Cohen
2010-07-21 17:33   ` [PATCH v2 09/20] wireless: wl1271: make ref_clock configurable by board Ohad Ben-Cohen
2010-07-21 17:33   ` [PATCH v2 12/20] omap: hsmmc: allow board-specific settings of private mmc data Ohad Ben-Cohen
2010-07-21 17:33   ` [PATCH v2 13/20] omap: zoom: add mmc3/wl1271 device support Ohad Ben-Cohen
2010-07-21 17:33   ` [PATCH v2 18/20] mmc: sdio: enable a default power off mode of the card Ohad Ben-Cohen
2010-07-22 11:35     ` Roger Quadros
     [not found]       ` <4C482D01.1040109-xNZwKgViW5gAvxtiuMwx3w@public.gmane.org>
2010-07-25 12:40         ` Ohad Ben-Cohen
2010-07-25 13:56           ` Nicolas Pitre
     [not found]             ` <alpine.LFD.2.00.1007250953400.25246-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2010-07-25 14:05               ` Ohad Ben-Cohen
2010-07-21 17:33   ` [PATCH v2 20/20] wireless: wl1271: call SDIO claim/release power API Ohad Ben-Cohen
2010-07-22 22:56   ` [PATCH v2 00/20] native support for wl1271 on ZOOM Nicolas Pitre
2010-07-22 23:56     ` Ohad Ben-Cohen
2010-07-26 19:30 ` John W. Linville
     [not found]   ` <20100726193028.GG3903-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2010-07-27  9:32     ` Ohad Ben-Cohen
2010-08-02  8:16   ` Luciano Coelho
2010-08-02 11:42     ` Tony Lindgren
2010-08-02 12:08       ` Ohad Ben-Cohen
     [not found]       ` <20100802114256.GE12293-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2010-08-02 15:12         ` Vitaly Wool
2010-08-02 15:59           ` Ohad Ben-Cohen
2010-08-02 16:19             ` Vitaly Wool
2010-08-02 16:40               ` Ohad Ben-Cohen

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=20100804114147.GB6852@n2100.arm.linux.org.uk \
    --to=linux-lfz/pmaqli7xmaaqvzeohq@public.gmane.org \
    --cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
    --cc=kalle.valo-X3B1VOXEql0@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=luciano.coelho-xNZwKgViW5gAvxtiuMwx3w@public.gmane.org \
    --cc=madhu.cr-l0cyMroinI0@public.gmane.org \
    --cc=nico-vtqb6HGKxmzR7s880joybQ@public.gmane.org \
    --cc=ohad-Ix1uc/W3ht7QT0dZR+AlfA@public.gmane.org \
    --cc=roger.quadros-xNZwKgViW5gAvxtiuMwx3w@public.gmane.org \
    --cc=san-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
    --cc=tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org \
    --cc=vikram.pandita-l0cyMroinI0@public.gmane.org \
    --cc=vitalywool-Re5JQEeQqe8AvxtiuMwx3w@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).