linux/drivers/net/can/c_can/c_can.h

/*
 * CAN bus driver for Bosch C_CAN controller
 *
 * Copyright (C) 2010 ST Microelectronics
 * Bhupesh Sharma <[email protected]>
 *
 * Borrowed heavily from the C_CAN driver originally written by:
 * Copyright (C) 2007
 * - Sascha Hauer, Marc Kleine-Budde, Pengutronix <[email protected]>
 * - Simon Kallweit, intefo AG <[email protected]>
 *
 * Bosch C_CAN controller is compliant to CAN protocol version 2.0 part A and B.
 * Bosch C_CAN user manual can be obtained from:
 * http://www.semiconductors.bosch.de/media/en/pdf/ipmodules_1/c_can/
 * users_manual_c_can.pdf
 *
 * This file is licensed under the terms of the GNU General Public
 * License version 2. This program is licensed "as is" without any
 * warranty of any kind, whether express or implied.
 */

#ifndef C_CAN_H
#define C_CAN_H

enum reg {};

static const u16 __maybe_unused reg_map_c_can[] =;

static const u16 __maybe_unused reg_map_d_can[] =;

enum c_can_dev_id {};

struct raminit_bits {};

struct c_can_driver_data {};

/* Out of band RAMINIT register access via syscon regmap */
struct c_can_raminit {};

/* c_can tx ring structure */
struct c_can_tx_ring {};

/* c_can private data structure */
struct c_can_priv {};

struct net_device *alloc_c_can_dev(int msg_obj_num);
void free_c_can_dev(struct net_device *dev);
int register_c_can_dev(struct net_device *dev);
void unregister_c_can_dev(struct net_device *dev);

#ifdef CONFIG_PM
int c_can_power_up(struct net_device *dev);
int c_can_power_down(struct net_device *dev);
#endif

extern const struct ethtool_ops c_can_ethtool_ops;

static inline u8 c_can_get_tx_head(const struct c_can_tx_ring *ring)
{}

static inline u8 c_can_get_tx_tail(const struct c_can_tx_ring *ring)
{}

static inline u8 c_can_get_tx_free(const struct c_can_priv *priv,
				   const struct c_can_tx_ring *ring)
{}

#endif /* C_CAN_H */