Thread (61 messages) 61 messages, 12 authors, 2010-08-06

Re: [PATCH v2 03/20] mmc: support embedded data field in mmc_host

flat view

From: Russell King - ARM Linux <hidden>
Date: 2010-08-06 14:46:05
Also in: linux-arm-kernel, linux-mmc, linux-omap

On Fri, Aug 06, 2010 at 01:02:24PM +0300, Ohad Ben-Cohen wrote:
We have Russell's suggestion which is nice and simple, but it has the
1 device limitation.
You could make it generic by doing something like this:

#define set_device_data(name, type, index, data)			\
 ({									\
    extern void __set_device_data(const char *, int, void *, size_t);	\
    BUILD_BUG_ON(!__same_type(type, *data));				\
    __set_device_data(name ":" #type, index, data, sizeof(type));	\
 })

#define get_device_data(name, type, index) ({				\
  extern void *__get_device_data(const char *, int);			\
  type *__ptr = __get_device_data(name ":" #type, index);		\
  __ptr; })

And now we have something that takes a string and index to use as a lookup
key in some kind of list - and it's typesafe (because the lookup key is
dependent on the stringified type.)

But... at this point I feel that we're getting too complicated, and will
get shouted at to use something like DT which already solves this problem.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help