linux/net/can/j1939/bus.c

// SPDX-License-Identifier: GPL-2.0
// Copyright (c) 2010-2011 EIA Electronics,
//                         Kurt Van Dijck <[email protected]>
// Copyright (c) 2017-2019 Pengutronix,
//                         Marc Kleine-Budde <[email protected]>
// Copyright (c) 2017-2019 Pengutronix,
//                         Oleksij Rempel <[email protected]>

/* bus for j1939 remote devices
 * Since rtnetlink, no real bus is used.
 */

#include <net/sock.h>

#include "j1939-priv.h"

static void __j1939_ecu_release(struct kref *kref)
{}

void j1939_ecu_put(struct j1939_ecu *ecu)
{}

static void j1939_ecu_get(struct j1939_ecu *ecu)
{}

static bool j1939_ecu_is_mapped_locked(struct j1939_ecu *ecu)
{}

/* ECU device interface */
/* map ECU to a bus address space */
static void j1939_ecu_map_locked(struct j1939_ecu *ecu)
{}

/* unmap ECU from a bus address space */
void j1939_ecu_unmap_locked(struct j1939_ecu *ecu)
{}

void j1939_ecu_unmap(struct j1939_ecu *ecu)
{}

void j1939_ecu_unmap_all(struct j1939_priv *priv)
{}

void j1939_ecu_timer_start(struct j1939_ecu *ecu)
{}

void j1939_ecu_timer_cancel(struct j1939_ecu *ecu)
{}

static enum hrtimer_restart j1939_ecu_timer_handler(struct hrtimer *hrtimer)
{}

struct j1939_ecu *j1939_ecu_create_locked(struct j1939_priv *priv, name_t name)
{}

struct j1939_ecu *j1939_ecu_find_by_addr_locked(struct j1939_priv *priv,
						u8 addr)
{}

struct j1939_ecu *j1939_ecu_get_by_addr_locked(struct j1939_priv *priv, u8 addr)
{}

struct j1939_ecu *j1939_ecu_get_by_addr(struct j1939_priv *priv, u8 addr)
{}

/* get pointer to ecu without increasing ref counter */
static struct j1939_ecu *j1939_ecu_find_by_name_locked(struct j1939_priv *priv,
						       name_t name)
{}

struct j1939_ecu *j1939_ecu_get_by_name_locked(struct j1939_priv *priv,
					       name_t name)
{}

struct j1939_ecu *j1939_ecu_get_by_name(struct j1939_priv *priv, name_t name)
{}

u8 j1939_name_to_addr(struct j1939_priv *priv, name_t name)
{}

/* TX addr/name accounting
 * Transport protocol needs to know if a SA is local or not
 * These functions originate from userspace manipulating sockets,
 * so locking is straigforward
 */

int j1939_local_ecu_get(struct j1939_priv *priv, name_t name, u8 sa)
{}

void j1939_local_ecu_put(struct j1939_priv *priv, name_t name, u8 sa)
{}