On Thu, 2010-09-09 at 12:53 +0200, ext Taneja, Archit wrote:
> Hi,
>
> Tomi Valkeinen wrote:
> > Hi,
> >
> > On Wed, 2010-09-08 at 13:17 +0200, ext Archit Taneja wrote:
> >> Add dss_features.c and dss_features.h for the dss_features framework
> >>
> >> Signed-off-by: Archit Taneja <[email protected]>
> >> ---
> >> drivers/video/omap2/dss/dss_features.c | 171
> > ++++++++++++++++++++++++++++++++
> >> drivers/video/omap2/dss/dss_features.h | 51 ++++++++++
> >> 2 files changed, 222 insertions(+), 0 deletions(-) create mode
> >> 100644 drivers/video/omap2/dss/dss_features.c
> >> create mode 100644 drivers/video/omap2/dss/dss_features.h
> >>
> >> diff --git a/drivers/video/omap2/dss/dss_features.c
> >> b/drivers/video/omap2/dss/dss_features.c
> >> new file mode 100644
> >> index 0000000..e87816f
> >> --- /dev/null
> >> +++ b/drivers/video/omap2/dss/dss_features.c
> >> @@ -0,0 +1,171 @@
> >> +/*
> >> + * linux/drivers/video/omap2/dss/dss_features.c
> >> + *
> >> + * Copyright (C) 2010 Texas Instruments
> >> + * Author: Archit Taneja <[email protected]>
> >> + *
> >> + * This program is free software; you can redistribute it and/or +modify
> >> it
> >> + * under the terms of the GNU General Public License version 2 as
> >> +published by + * the Free Software Foundation.
> >> + *
> >> + * This program is distributed in the hope that it will be useful, +but
> >> WITHOUT + * ANY WARRANTY; without even the implied warranty of
> >> MERCHANTABILITY +or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> >> General Public +License for + * more details.
> >> + *
> >> + * You should have received a copy of the GNU General Public License
> >> +along
> >> with + * this program. If not, see <http://www.gnu.org/licenses/>. + */
> >> +
> >> +#include <linux/kernel.h>
> >> +#include <linux/types.h>
> >> +#include <linux/err.h>
> >> +#include <linux/slab.h>
> >> +
> >> +#include <plat/display.h>
> >> +#include <plat/cpu.h>
> >> +
> >> +#include "dss_features.h"
> >> +
> >> +/* Defines a generic omap register field */ struct dss_reg_field { +
> >> enum
> >> dss_feat_reg_field id; + u8 start, end;
> >> +};
> >> +
> >> +struct omap_dss_features {
> >> + struct dss_reg_field reg_fields[MAX_DSS_REG_FIELDS];
> >
> > Perhaps this should be a pointer to a list, and add a
> > separate field for num_reg_fields. That way you don't need a
> > MAX_DSS_REG_FIELDS definition.
>
> If it is a pointer to a list then we can't initialize things statically, won't
> we need functions at runtime to add to the list of reg_fields etc, this is
> what
> I did in v1?
Something like:
static struct dss_reg_field omap2_dss_reg_fields[] =
{
{FIRHINC, 11, 0},
{FIRVINC, 27, 16},
{FIFOLOWTHRESHOLD, 8, 0},
{FIFOHIGHTHRESHOLD, 24, 16},
{FIFOSIZE, 8, 0},
};
static struct omap_dss_features omap2_dss_features = {
.num_reg_fields = ARRAY_SIZE(omap2_dss_reg_fields),
.reg_fields = omap2_dss_reg_fields,
...
Tomi
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html