lkml.org 
[lkml]   [2012]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 07/13 v4] drm/i915/intel_i2c: allocate gmbus array as part of drm_i915_private
    On Wed, Mar 28, 2012 at 02:36:16AM +0800, Daniel Kurtz wrote:
    > This memory is always allocated, and it is always a fixed size, so just
    > allocate it along with the rest of the driver state.
    >
    > Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
    > Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

    I've picked up all your patches up and including this one for d-i-n,
    thanks. I'm a bit unhappy about the gmbus to gmbus pin off-by-one stuff in
    the previous patch, but I could not come up with a better way to do it.
    And merging these 2 enumerations into one sounds like a good idea, so I've
    picked it up.
    -Daniel
    > ---
    > drivers/gpu/drm/i915/i915_drv.h | 2 +-
    > drivers/gpu/drm/i915/intel_i2c.c | 10 ----------
    > 2 files changed, 1 insertions(+), 11 deletions(-)
    >
    > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
    > index c5ad7b9..6983b4b 100644
    > --- a/drivers/gpu/drm/i915/i915_drv.h
    > +++ b/drivers/gpu/drm/i915/i915_drv.h
    > @@ -326,7 +326,7 @@ typedef struct drm_i915_private {
    > /** gt_lock is also taken in irq contexts. */
    > struct spinlock gt_lock;
    >
    > - struct intel_gmbus *gmbus;
    > + struct intel_gmbus gmbus[GMBUS_NUM_PORTS];
    >
    > /** gmbus_mutex protects against concurrent usage of the single hw gmbus
    > * controller on different i2c buses. */
    > diff --git a/drivers/gpu/drm/i915/intel_i2c.c b/drivers/gpu/drm/i915/intel_i2c.c
    > index dcde6f6..c12db72 100644
    > --- a/drivers/gpu/drm/i915/intel_i2c.c
    > +++ b/drivers/gpu/drm/i915/intel_i2c.c
    > @@ -387,11 +387,6 @@ int intel_setup_gmbus(struct drm_device *dev)
    > else
    > dev_priv->gpio_mmio_base = 0;
    >
    > - dev_priv->gmbus = kcalloc(GMBUS_NUM_PORTS, sizeof(struct intel_gmbus),
    > - GFP_KERNEL);
    > - if (dev_priv->gmbus == NULL)
    > - return -ENOMEM;
    > -
    > mutex_init(&dev_priv->gmbus_mutex);
    >
    > for (i = 0; i < GMBUS_NUM_PORTS; i++) {
    > @@ -428,8 +423,6 @@ err:
    > struct intel_gmbus *bus = &dev_priv->gmbus[i];
    > i2c_del_adapter(&bus->adapter);
    > }
    > - kfree(dev_priv->gmbus);
    > - dev_priv->gmbus = NULL;
    > return ret;
    > }
    >
    > @@ -468,7 +461,4 @@ void intel_teardown_gmbus(struct drm_device *dev)
    > struct intel_gmbus *bus = &dev_priv->gmbus[i];
    > i2c_del_adapter(&bus->adapter);
    > }
    > -
    > - kfree(dev_priv->gmbus);
    > - dev_priv->gmbus = NULL;
    > }
    > --
    > 1.7.7.3
    >

    --
    Daniel Vetter
    Mail: daniel@ffwll.ch
    Mobile: +41 (0)79 365 57 48


    \
     
     \ /
      Last update: 2012-03-28 15:07    [W:0.026 / U:29.764 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site