OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [drivers/] [media/] [video/] [tuner-i2c.h] - Blame information for rev 65

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
/*
2
    tuner-i2c.h - i2c interface for different tuners
3
 
4
    Copyright (C) 2007 Michael Krufky (mkrufky@linuxtv.org)
5
 
6
    This program is free software; you can redistribute it and/or modify
7
    it under the terms of the GNU General Public License as published by
8
    the Free Software Foundation; either version 2 of the License, or
9
    (at your option) any later version.
10
 
11
    This program is distributed in the hope that it will be useful,
12
    but WITHOUT ANY WARRANTY; without even the implied warranty of
13
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
    GNU General Public License for more details.
15
 
16
    You should have received a copy of the GNU General Public License
17
    along with this program; if not, write to the Free Software
18
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19
*/
20
 
21
#ifndef __TUNER_I2C_H__
22
#define __TUNER_I2C_H__
23
 
24
#include <linux/i2c.h>
25
 
26
struct tuner_i2c_props {
27
        u8 addr;
28
        struct i2c_adapter *adap;
29
};
30
 
31
static inline int tuner_i2c_xfer_send(struct tuner_i2c_props *props, char *buf, int len)
32
{
33
        struct i2c_msg msg = { .addr = props->addr, .flags = 0,
34
                               .buf = buf, .len = len };
35
        int ret = i2c_transfer(props->adap, &msg, 1);
36
 
37
        return (ret == 1) ? len : ret;
38
}
39
 
40
static inline int tuner_i2c_xfer_recv(struct tuner_i2c_props *props, char *buf, int len)
41
{
42
        struct i2c_msg msg = { .addr = props->addr, .flags = I2C_M_RD,
43
                               .buf = buf, .len = len };
44
        int ret = i2c_transfer(props->adap, &msg, 1);
45
 
46
        return (ret == 1) ? len : ret;
47
}
48
 
49
#ifndef __TUNER_DRIVER_H__
50
#define tuner_warn(fmt, arg...) do {\
51
        printk(KERN_WARNING PREFIX "%d-%04x: " fmt, \
52
                        i2c_adapter_id(priv->i2c_props.adap), priv->i2c_props.addr , ##arg); } while (0)
53
#define tuner_info(fmt, arg...) do {\
54
        printk(KERN_INFO PREFIX "%d-%04x: " fmt, \
55
                        i2c_adapter_id(priv->i2c_props.adap), priv->i2c_props.addr , ##arg); } while (0)
56
#define tuner_dbg(fmt, arg...) do {\
57
        if ((debug)) \
58
                printk(KERN_DEBUG PREFIX "%d-%04x: " fmt, \
59
                        i2c_adapter_id(priv->i2c_props.adap), priv->i2c_props.addr , ##arg); } while (0)
60
#endif /* __TUNER_DRIVER_H__ */
61
 
62
#endif /* __TUNER_I2C_H__ */
63
 
64
/*
65
 * Overrides for Emacs so that we follow Linus's tabbing style.
66
 * ---------------------------------------------------------------------------
67
 * Local variables:
68
 * c-basic-offset: 8
69
 * End:
70
 */

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.