From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v4 09/15] dm: Cast away the const-ness of the global_data pointer
Date: Wed, 18 Jun 2014 01:42:17 +0200 [thread overview]
Message-ID: <201406180142.17889.marex@denx.de> (raw)
In-Reply-To: <CAPnjgZ0RJHfAVe6B8pC4HRqBFj3kMqq13EbzCVLzLzuqjY1q3A@mail.gmail.com>
On Thursday, June 12, 2014 at 05:26:50 AM, Simon Glass wrote:
> Hi Marek,
>
> On 8 June 2014 01:00, Marek Vasut <marex@denx.de> wrote:
> > On Friday, June 06, 2014 at 09:13:26 PM, Simon Glass wrote:
> >> In a very few cases we need to adjust the driver model root device, such
> >> as when setting it up at initialisation. Add a macro to make this
> >> easier.
> >>
> >> Signed-off-by: Simon Glass <sjg@chromium.org>
> >> ---
> >
> > [...]
> >
> >> - ret = device_bind_by_name(NULL, &root_info, &gd->dm_root);
> >> + ret = device_bind_by_name(NULL, &root_info, &DM_ROOT());
> >
> > [...]
> >
> >> +/* Cast away any volatile pointer */
> >> +#define DM_ROOT() (((gd_t *)gd)->dm_root)
> >> +#define DM_UCLASS_ROOT() (((gd_t *)gd)->uclass_root)
> >
> > Can you implement this "DM_ROOT()" macro as a function instead ? I
> > believe that'd be much nicer , would have typechecking etc., usual
> > stuff.
>
> I had a look at this. I don't see how I can do it, but you might have
> ideas.
>
> In this function call I need to pass a pointer without its const bit.
> I made it const since nothing should change the dm root except driver
> model itself.
All right, I will just be doing a little guesswork here. Shall you not have some
functions to change the DM root then instead of exposing the DM root ? Such
functions shall not be exported publicly , but available via separate header
file too ?
Sorry, I might be completely wrong.
Best regards,
Marek Vasut
next prev parent reply other threads:[~2014-06-17 23:42 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-06 19:13 [U-Boot] [PATCH v4 0/15] Collected driver model bug-fixes and docs Simon Glass
2014-06-06 19:13 ` [U-Boot] [PATCH v4 01/15] Add an I/O tracing feature Simon Glass
2014-06-06 19:13 ` [U-Boot] [PATCH v4 02/15] arm: Support iotrace feature Simon Glass
2014-06-06 19:13 ` [U-Boot] [PATCH v4 03/15] sandbox: " Simon Glass
2014-06-06 19:13 ` [U-Boot] [PATCH v4 04/15] Makefile: Support include files for .dts files Simon Glass
2014-06-06 20:29 ` Jon Loeliger
2014-06-06 20:44 ` Simon Glass
2014-06-06 19:13 ` [U-Boot] [PATCH v4 05/15] dm: Rename struct device_id to udevice_id Simon Glass
2014-06-06 20:26 ` Jon Loeliger
2014-06-06 20:30 ` Jon Loeliger
2014-06-06 20:36 ` Simon Glass
2014-06-06 19:13 ` [U-Boot] [PATCH v4 06/15] dm: Update README to encourage conversion to driver model Simon Glass
2014-06-06 19:13 ` [U-Boot] [PATCH v4 07/15] dm: Use case-insensitive comparison for GPIO banks Simon Glass
2014-06-06 19:13 ` [U-Boot] [PATCH v4 08/15] dm: Add missing header files in lists and root Simon Glass
2014-06-06 19:13 ` [U-Boot] [PATCH v4 09/15] dm: Cast away the const-ness of the global_data pointer Simon Glass
2014-06-08 5:00 ` Marek Vasut
2014-06-12 3:26 ` Simon Glass
2014-06-12 3:29 ` Simon Glass
2014-06-17 23:42 ` Marek Vasut [this message]
2014-06-18 5:36 ` Simon Glass
2014-06-20 4:07 ` Simon Glass
2014-06-20 4:12 ` Marek Vasut
2014-06-20 20:34 ` Simon Glass
2014-06-20 21:45 ` Marek Vasut
2014-06-06 19:13 ` [U-Boot] [PATCH v4 10/15] dm: Allow driver model tests only for sandbox Simon Glass
2014-06-06 19:13 ` [U-Boot] [PATCH v4 11/15] dm: Fix printf() strings in the 'dm' command Simon Glass
2014-06-08 22:46 ` Andre Renaud
2014-06-12 3:34 ` Simon Glass
2014-06-06 19:13 ` [U-Boot] [PATCH v4 12/15] tegra: dts: Bring in GPIO bindings from linux Simon Glass
2014-06-06 19:13 ` [U-Boot] [PATCH v4 13/15] tegra: Enable driver model Simon Glass
2014-06-06 19:13 ` [U-Boot] [PATCH v4 14/15] dm: Tidy up four minor code nits Simon Glass
2014-06-08 5:01 ` Marek Vasut
2014-06-06 19:13 ` [U-Boot] [PATCH v4 15/15] dm: Expand and improve the device lifecycle docs Simon Glass
2014-06-06 19:52 ` Pavel Herrmann
2014-06-06 20:42 ` Simon Glass
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=201406180142.17889.marex@denx.de \
--to=marex@denx.de \
--cc=u-boot@lists.denx.de \
/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