openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

default.c (2435B)


      1 /* 
      2  * 
      3  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      4  * 
      5  * Copyright 2007-2019 Broadcom Inc. All rights reserved.
      6  *
      7  * File:        default.c
      8  * Purpose:     default board driver
      9  */
     10 
     11 #include <sal/core/libc.h>
     12 #include <bcm/error.h>
     13 #include <board/board.h>
     14 #include <board/manager.h>
     15 #include <board/driver.h>
     16 
     17 #define MAX_DESC 80
     18 
     19 typedef struct default_private_data_s {
     20     char description[MAX_DESC];
     21 } default_private_data_t;
     22 
     23 STATIC default_private_data_t _default_private_data;
     24 
     25 #define PRIVATE(field) (((default_private_data_t *)(driver->user_data))->field)
     26 
     27 /*
     28  * Function:
     29  *     _default_description
     30  * Purpose:
     31  *     Return the board description string
     32  * Parameters:
     33  *     driver - (IN)  current driver
     34  * Returns:
     35  *     description string
     36  */
     37 STATIC char *
     38 _default_description(board_driver_t *driver)
     39 {
     40     return PRIVATE(description);
     41 }
     42 
     43 /*
     44  * Function:
     45  *     _default_probe
     46  * Purpose:
     47  *     Test if board devices are appropriate for this board.
     48  *     In this case, all devices are appropriate.
     49  * Parameters:
     50  *      driver - (IN) board driver
     51  *      num    - (IN) number of devices; length of info array
     52  *      info   - (IN) array of bcm_info_t
     53  * Returns:
     54  *     BCM_E_NONE - all devices accepted
     55  */
     56 STATIC int
     57 _default_probe(board_driver_t *driver, int num, bcm_info_t *info)
     58 {
     59     return BCM_E_NONE;
     60 }
     61 
     62 /*
     63  * Function:
     64  *     _default_start
     65  * Purpose:
     66  *     Start board according to flags
     67  * Parameters:
     68  *      driver - (IN) current driver
     69  *      flags  - (IN) start flags
     70  * Returns:
     71  *     BCM_E_NONE - success
     72  */
     73 STATIC int
     74 _default_start(board_driver_t *driver, uint32 flags)
     75 {
     76     /* Reset user data */
     77     sal_memset(driver->user_data, 0, sizeof(default_private_data_t));
     78 
     79     /* start the board. */
     80     return BCM_E_NONE;
     81 }
     82 
     83 /*
     84  * Function:
     85  *     _default_stop
     86  * Purpose:
     87  *     Stop the board
     88  * Parameters:
     89  *      driver - (IN) current driver
     90  * Returns:
     91  *     BCM_E_NONE - success
     92  */
     93 STATIC int
     94 _default_stop(board_driver_t *driver)
     95 {
     96     /* Reset user data */
     97     sal_memset(driver->user_data, 0, sizeof(default_private_data_t));
     98 
     99     return BCM_E_NONE;
    100 }
    101 
    102 
    103 board_driver_t default_board = {
    104     "default",
    105     BOARD_LOWEST_PRIORITY,
    106     (void *)&_default_private_data,
    107     0,
    108     NULL,
    109     0,
    110     NULL,
    111     _default_description,
    112     _default_probe,
    113     _default_start,
    114     _default_stop
    115 };