stm_data
struct stm_data stm;
static int stm_generic_link(struct stm_data *stm_data,
struct stm_drvdata *drvdata = container_of(stm_data,
static void stm_generic_unlink(struct stm_data *stm_data,
struct stm_drvdata *drvdata = container_of(stm_data,
stm_mmio_addr(struct stm_data *stm_data, unsigned int master,
struct stm_drvdata *drvdata = container_of(stm_data,
static long stm_generic_set_options(struct stm_data *stm_data,
struct stm_drvdata *drvdata = container_of(stm_data,
static ssize_t notrace stm_generic_packet(struct stm_data *stm_data,
struct stm_drvdata *drvdata = container_of(stm_data,
sth_stm_mmio_addr(struct stm_data *stm_data, unsigned int master,
struct sth_device *sth = container_of(stm_data, struct sth_device, stm);
static int sth_stm_link(struct stm_data *stm_data, unsigned int master,
struct sth_device *sth = container_of(stm_data, struct sth_device, stm);
struct stm_data stm;
static ssize_t notrace sth_stm_packet(struct stm_data *stm_data,
struct sth_device *sth = container_of(stm_data, struct sth_device, stm);
ssize_t notrace stm_data_write(struct stm_data *data, unsigned int m,
struct stm_data *stm_data = stmf->stm->data;
if (stm_data->set_options)
err = stm_data->set_options(stm_data,
int stm_register_device(struct device *parent, struct stm_data *stm_data,
if (!stm_data->packet || !stm_data->sw_nchannels)
nmasters = stm_data->sw_end - stm_data->sw_start + 1;
stm->major = register_chrdev(0, stm_data->name, &stm_fops);
stm->data = stm_data;
stm_data->stm = stm;
err = kobject_set_name(&stm->dev.kobj, "%s", stm_data->name);
unregister_chrdev(stm->major, stm_data->name);
void stm_unregister_device(struct stm_data *stm_data)
struct stm_device *stm = stm_data->stm;
unregister_chrdev(stm->major, stm_data->name);
stm_data->stm = NULL;
dummy_stm_packet(struct stm_data *stm_data, unsigned int master,
static struct stm_data dummy_stm[DUMMY_STM_MAX];
static int dummy_stm_link(struct stm_data *data, unsigned int master,
static ssize_t basic_write(struct stm_data *data, struct stm_output *output,
sys_t_clock_sync(struct stm_data *data, unsigned int m, unsigned int c)
static ssize_t sys_t_write_data(struct stm_data *data,
static ssize_t sys_t_write(struct stm_data *data, struct stm_output *output,
ssize_t stm_data_write(struct stm_data *data, unsigned int m,
struct stm_data *data;
ssize_t (*write)(struct stm_data *data,
void (*unlink)(struct stm_data *, unsigned int,
long (*set_options)(struct stm_data *, unsigned int,
int stm_register_device(struct device *parent, struct stm_data *stm_data,
void stm_unregister_device(struct stm_data *stm_data);
ssize_t (*packet)(struct stm_data *, unsigned int,
phys_addr_t (*mmio_addr)(struct stm_data *, unsigned int,
int (*link)(struct stm_data *, unsigned int,