linux/drivers/net/ethernet/cisco/enic/enic_pp.h
<<
>>
Prefs
   1/*
   2 * Copyright 2011 Cisco Systems, Inc.  All rights reserved.
   3 *
   4 * This program is free software; you may redistribute it and/or modify
   5 * it under the terms of the GNU General Public License as published by
   6 * the Free Software Foundation; version 2 of the License.
   7 *
   8 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
   9 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  10 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  11 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
  12 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
  13 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  14 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  15 * SOFTWARE.
  16 *
  17 */
  18
  19#ifndef _ENIC_PP_H_
  20#define _ENIC_PP_H_
  21
  22#define ENIC_PP_BY_INDEX(enic, vf, pp, err) \
  23        do { \
  24                if (enic_is_valid_pp_vf(enic, vf, err)) \
  25                        pp = (vf == PORT_SELF_VF) ? enic->pp : enic->pp + vf; \
  26                else \
  27                        pp = NULL; \
  28        } while (0)
  29
  30int enic_process_set_pp_request(struct enic *enic, int vf,
  31        struct enic_port_profile *prev_pp, int *restore_pp);
  32int enic_process_get_pp_request(struct enic *enic, int vf,
  33        int request, u16 *response);
  34int enic_is_valid_pp_vf(struct enic *enic, int vf, int *err);
  35
  36#endif /* _ENIC_PP_H_ */
  37