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 };