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@xxxxxxxxxxxx> > Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> 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@xxxxxxxx Mobile: +41 (0)79 365 57 48 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel