#include <linux/init.h>
#include <linux/slab.h>
#include <linux/module.h>
#include <linux/string.h>
#include <linux/errno.h>
#include <sound/core.h>
#include <sound/i2c.h>
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
static int snd_i2c_bit_sendbytes(struct snd_i2c_device *device,
unsigned char *bytes, int count);
static int snd_i2c_bit_readbytes(struct snd_i2c_device *device,
unsigned char *bytes, int count);
static int snd_i2c_bit_probeaddr(struct snd_i2c_bus *bus,
unsigned short addr);
static const struct snd_i2c_ops snd_i2c_bit_ops = …;
static int snd_i2c_bus_free(struct snd_i2c_bus *bus)
{ … }
static int snd_i2c_bus_dev_free(struct snd_device *device)
{ … }
int snd_i2c_bus_create(struct snd_card *card, const char *name,
struct snd_i2c_bus *master, struct snd_i2c_bus **ri2c)
{ … }
EXPORT_SYMBOL(…);
int snd_i2c_device_create(struct snd_i2c_bus *bus, const char *name,
unsigned char addr, struct snd_i2c_device **rdevice)
{ … }
EXPORT_SYMBOL(…);
int snd_i2c_device_free(struct snd_i2c_device *device)
{ … }
EXPORT_SYMBOL(…);
int snd_i2c_sendbytes(struct snd_i2c_device *device, unsigned char *bytes, int count)
{ … }
EXPORT_SYMBOL(…);
int snd_i2c_readbytes(struct snd_i2c_device *device, unsigned char *bytes, int count)
{ … }
EXPORT_SYMBOL(…);
int snd_i2c_probeaddr(struct snd_i2c_bus *bus, unsigned short addr)
{ … }
EXPORT_SYMBOL(…);
static inline void snd_i2c_bit_hw_start(struct snd_i2c_bus *bus)
{ … }
static inline void snd_i2c_bit_hw_stop(struct snd_i2c_bus *bus)
{ … }
static void snd_i2c_bit_direction(struct snd_i2c_bus *bus, int clock, int data)
{ … }
static void snd_i2c_bit_set(struct snd_i2c_bus *bus, int clock, int data)
{ … }
#if 0
static int snd_i2c_bit_clock(struct snd_i2c_bus *bus)
{
if (bus->hw_ops.bit->getclock)
return bus->hw_ops.bit->getclock(bus);
return -ENXIO;
}
#endif
static int snd_i2c_bit_data(struct snd_i2c_bus *bus, int ack)
{ … }
static void snd_i2c_bit_start(struct snd_i2c_bus *bus)
{ … }
static void snd_i2c_bit_stop(struct snd_i2c_bus *bus)
{ … }
static void snd_i2c_bit_send(struct snd_i2c_bus *bus, int data)
{ … }
static int snd_i2c_bit_ack(struct snd_i2c_bus *bus)
{ … }
static int snd_i2c_bit_sendbyte(struct snd_i2c_bus *bus, unsigned char data)
{ … }
static int snd_i2c_bit_readbyte(struct snd_i2c_bus *bus, int last)
{ … }
static int snd_i2c_bit_sendbytes(struct snd_i2c_device *device,
unsigned char *bytes, int count)
{ … }
static int snd_i2c_bit_readbytes(struct snd_i2c_device *device,
unsigned char *bytes, int count)
{ … }
static int snd_i2c_bit_probeaddr(struct snd_i2c_bus *bus, unsigned short addr)
{ … }