* boards in this way is optional, and completely driver-dependent.
  * Some drivers use arrays such as this, other do not.
  */
-typedef struct atao_board_struct {
+struct atao_board {
        const char *name;
        int n_ao_chans;
-} atao_board;
-static const atao_board atao_boards[] = {
+};
+
+static const struct atao_board atao_boards[] = {
        {
              name:     "ai-ao-6",
              n_ao_chans:6,
                },
 };
 
-#define thisboard ((atao_board *)dev->board_ptr)
+#define thisboard ((struct atao_board *)dev->board_ptr)
 
 struct atao_private {
 
       attach:atao_attach,
       detach:atao_detach,
       board_name:&atao_boards[0].name,
-      offset:sizeof(atao_board),
-      num_names:sizeof(atao_boards) / sizeof(atao_board),
+      offset:sizeof(struct atao_board),
+      num_names:sizeof(atao_boards) / sizeof(struct atao_board),
 };
 
 COMEDI_INITCLEANUP(driver_atao);