All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.