linux/include/linux/i2c/pca954x.h
<<
>>
Prefs
   1/*
   2 *
   3 * pca954x.h - I2C multiplexer/switch support
   4 *
   5 * Copyright (c) 2008-2009 Rodolfo Giometti <giometti@linux.it>
   6 * Copyright (c) 2008-2009 Eurotech S.p.A. <info@eurotech.it>
   7 * Michael Lawnick <michael.lawnick.ext@nsn.com>
   8 *
   9 * This program is free software; you can redistribute it and/or modify
  10 * it under the terms of the GNU General Public License as published by
  11 * the Free Software Foundation; either version 2 of the License, or
  12 * (at your option) any later version.
  13 *
  14 * This program is distributed in the hope that it will be useful,
  15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17 * GNU General Public License for more details.
  18 *
  19 * You should have received a copy of the GNU General Public License
  20 * along with this program; if not, write to the Free Software
  21 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  22 */
  23
  24
  25#ifndef _LINUX_I2C_PCA954X_H
  26#define _LINUX_I2C_PCA954X_H
  27
  28/* Platform data for the PCA954x I2C multiplexers */
  29
  30/* Per channel initialisation data:
  31 * @adap_id: bus number for the adapter. 0 = don't care
  32 * @deselect_on_exit: set this entry to 1, if your H/W needs deselection
  33 *                    of this channel after transaction.
  34 *
  35 */
  36struct pca954x_platform_mode {
  37        int             adap_id;
  38        unsigned int    deselect_on_exit:1;
  39        unsigned int    class;
  40};
  41
  42/* Per mux/switch data, used with i2c_register_board_info */
  43struct pca954x_platform_data {
  44        struct pca954x_platform_mode *modes;
  45        int num_modes;
  46};
  47
  48#endif /* _LINUX_I2C_PCA954X_H */
  49