Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 266957
b: refs/heads/master
c: 93de912
h: refs/heads/master
i:
  266955: e49c349
v: v3
  • Loading branch information
Mark Brown committed Aug 8, 2011
1 parent 30d3cae commit 7306312
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 29 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 73304781274200c341996f65220d36b3cda8e217
refs/heads/master: 93de91245b66f20dd387c2745744950a11a5c436
45 changes: 45 additions & 0 deletions trunk/drivers/base/regmap/internal.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
/*
* Register map access API internal header
*
* Copyright 2011 Wolfson Microelectronics plc
*
* Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
*
* 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.
*/

#ifndef _REGMAP_INTERNAL_H
#define _REGMAP_INTERNAL_H

#include <linux/regmap.h>

struct regmap;

struct regmap_format {
size_t buf_size;
size_t reg_bytes;
size_t val_bytes;
void (*format_write)(struct regmap *map,
unsigned int reg, unsigned int val);
void (*format_reg)(void *buf, unsigned int reg);
void (*format_val)(void *buf, unsigned int val);
unsigned int (*parse_val)(void *buf);
};

struct regmap {
struct mutex lock;

struct device *dev; /* Device we do I/O on */
void *work_buf; /* Scratch buffer used to format I/O */
struct regmap_format format; /* Buffer format */
const struct regmap_bus *bus;

unsigned int max_register;
bool (*writeable_reg)(struct device *dev, unsigned int reg);
bool (*readable_reg)(struct device *dev, unsigned int reg);
bool (*volatile_reg)(struct device *dev, unsigned int reg);
};

#endif
29 changes: 1 addition & 28 deletions trunk/drivers/base/regmap/regmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,37 +15,10 @@
#include <linux/mutex.h>
#include <linux/err.h>

#include <linux/regmap.h>

#define CREATE_TRACE_POINTS
#include <trace/events/regmap.h>

struct regmap;

struct regmap_format {
size_t buf_size;
size_t reg_bytes;
size_t val_bytes;
void (*format_write)(struct regmap *map,
unsigned int reg, unsigned int val);
void (*format_reg)(void *buf, unsigned int reg);
void (*format_val)(void *buf, unsigned int val);
unsigned int (*parse_val)(void *buf);
};

struct regmap {
struct mutex lock;

struct device *dev; /* Device we do I/O on */
void *work_buf; /* Scratch buffer used to format I/O */
struct regmap_format format; /* Buffer format */
const struct regmap_bus *bus;

unsigned int max_register;
bool (*writeable_reg)(struct device *dev, unsigned int reg);
bool (*readable_reg)(struct device *dev, unsigned int reg);
bool (*volatile_reg)(struct device *dev, unsigned int reg);
};
#include "internal.h"

static void regmap_format_4_12_write(struct regmap *map,
unsigned int reg, unsigned int val)
Expand Down

0 comments on commit 7306312

Please sign in to comment.