On 2012-11-28 12:41, Chandrabhanu Mahapatra wrote: > The register fields in dss_reg_fields specific to DISPC are moved from struct > omap_dss_features to corresponding dispc_reg_fields, initialized in struct > dispc_features, thereby enabling local access. > > Signed-off-by: Chandrabhanu Mahapatra <cmahapatra@xxxxxx> > --- > drivers/video/omap2/dss/dispc.c | 87 ++++++++++++++++++++++++++++---- > drivers/video/omap2/dss/dss.h | 4 ++ > drivers/video/omap2/dss/dss_features.c | 28 ---------- > drivers/video/omap2/dss/dss_features.h | 7 --- > 4 files changed, 80 insertions(+), 46 deletions(-) > > diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c > index 9f259ba..21fc522 100644 > --- a/drivers/video/omap2/dss/dispc.c > +++ b/drivers/video/omap2/dss/dispc.c > @@ -80,6 +80,16 @@ struct dispc_irq_stats { > unsigned irqs[32]; > }; > > +enum dispc_feat_reg_field { > + FEAT_REG_FIRHINC, > + FEAT_REG_FIRVINC, > + FEAT_REG_FIFOLOWTHRESHOLD, > + FEAT_REG_FIFOHIGHTHRESHOLD, > + FEAT_REG_FIFOSIZE, > + FEAT_REG_HORIZONTALACCU, > + FEAT_REG_VERTICALACCU, > +}; > + > struct dispc_features { > u8 sw_start; > u8 fp_start; > @@ -107,6 +117,8 @@ struct dispc_features { > > u32 buffer_size_unit; > u32 burst_size_unit; > + > + struct register_field *reg_fields; > }; Hmm, would it be simpler to have an explicit struct for the reg fields. I mean something like: struct dispc_reg_fields { struct register_field firhinc; struct register_field firvinc; struct register_field fifo_low_threshold; ... }; Then accessing it would be dispc.feat->reg_fields.firhinc.start; instead of dispc.feat->reg_fields[FEAT_REG_FIFOSIZE].start; Not a big difference, but I don't see any benefit in having an array of reg fields here. Tomi
Attachment:
signature.asc
Description: OpenPGP digital signature