linux/include/linux/mdio-mux.h
<<
>>
Prefs
   1/*
   2 * MDIO bus multiplexer framwork.
   3 *
   4 * This file is subject to the terms and conditions of the GNU General Public
   5 * License.  See the file "COPYING" in the main directory of this archive
   6 * for more details.
   7 *
   8 * Copyright (C) 2011, 2012 Cavium, Inc.
   9 */
  10#ifndef __LINUX_MDIO_MUX_H
  11#define __LINUX_MDIO_MUX_H
  12#include <linux/device.h>
  13#include <linux/phy.h>
  14
  15/* mdio_mux_init() - Initialize a MDIO mux
  16 * @dev         The device owning the MDIO mux
  17 * @mux_node    The device node of the MDIO mux
  18 * @switch_fn   The function called for switching target MDIO child
  19 * mux_handle   A pointer to a (void *) used internaly by mdio-mux
  20 * @data        Private data used by switch_fn()
  21 * @mux_bus     An optional parent bus (Other case are to use parent_bus property)
  22 */
  23int mdio_mux_init(struct device *dev,
  24                  struct device_node *mux_node,
  25                  int (*switch_fn) (int cur, int desired, void *data),
  26                  void **mux_handle,
  27                  void *data,
  28                  struct mii_bus *mux_bus);
  29
  30void mdio_mux_uninit(void *mux_handle);
  31
  32#endif /* __LINUX_MDIO_MUX_H */
  33