1*93f9dcf9SAnton Vorontsov /* 2*93f9dcf9SAnton Vorontsov * An inteface for configuring a hardware via u-boot environment. 3*93f9dcf9SAnton Vorontsov * 4*93f9dcf9SAnton Vorontsov * Copyright (c) 2009 MontaVista Software, Inc. 5*93f9dcf9SAnton Vorontsov * 6*93f9dcf9SAnton Vorontsov * Author: Anton Vorontsov <avorontsov@ru.mvista.com> 7*93f9dcf9SAnton Vorontsov * 8*93f9dcf9SAnton Vorontsov * This program is free software; you can redistribute it and/or 9*93f9dcf9SAnton Vorontsov * modify it under the terms of the GNU General Public License as 10*93f9dcf9SAnton Vorontsov * published by the Free Software Foundation; either version 2 of 11*93f9dcf9SAnton Vorontsov * the License, or (at your option) any later version. 12*93f9dcf9SAnton Vorontsov */ 13*93f9dcf9SAnton Vorontsov 14*93f9dcf9SAnton Vorontsov #ifndef _HWCONFIG_H 15*93f9dcf9SAnton Vorontsov #define _HWCONFIG_H 16*93f9dcf9SAnton Vorontsov 17*93f9dcf9SAnton Vorontsov #include <linux/types.h> 18*93f9dcf9SAnton Vorontsov #include <asm/errno.h> 19*93f9dcf9SAnton Vorontsov 20*93f9dcf9SAnton Vorontsov #ifdef CONFIG_HWCONFIG 21*93f9dcf9SAnton Vorontsov 22*93f9dcf9SAnton Vorontsov extern int hwconfig(const char *opt); 23*93f9dcf9SAnton Vorontsov extern const char *hwconfig_arg(const char *opt, size_t *arglen); 24*93f9dcf9SAnton Vorontsov extern int hwconfig_arg_cmp(const char *opt, const char *arg); 25*93f9dcf9SAnton Vorontsov extern int hwconfig_sub(const char *opt, const char *subopt); 26*93f9dcf9SAnton Vorontsov extern const char *hwconfig_subarg(const char *opt, const char *subopt, 27*93f9dcf9SAnton Vorontsov size_t *subarglen); 28*93f9dcf9SAnton Vorontsov extern int hwconfig_subarg_cmp(const char *opt, const char *subopt, 29*93f9dcf9SAnton Vorontsov const char *subarg); 30*93f9dcf9SAnton Vorontsov 31*93f9dcf9SAnton Vorontsov #else 32*93f9dcf9SAnton Vorontsov 33*93f9dcf9SAnton Vorontsov static inline int hwconfig(const char *opt) 34*93f9dcf9SAnton Vorontsov { 35*93f9dcf9SAnton Vorontsov return -ENOSYS; 36*93f9dcf9SAnton Vorontsov } 37*93f9dcf9SAnton Vorontsov 38*93f9dcf9SAnton Vorontsov static inline const char *hwconfig_arg(const char *opt, size_t *arglen) 39*93f9dcf9SAnton Vorontsov { 40*93f9dcf9SAnton Vorontsov *arglen = 0; 41*93f9dcf9SAnton Vorontsov return ""; 42*93f9dcf9SAnton Vorontsov } 43*93f9dcf9SAnton Vorontsov 44*93f9dcf9SAnton Vorontsov static inline int hwconfig_arg_cmp(const char *opt, const char *arg) 45*93f9dcf9SAnton Vorontsov { 46*93f9dcf9SAnton Vorontsov return -ENOSYS; 47*93f9dcf9SAnton Vorontsov } 48*93f9dcf9SAnton Vorontsov 49*93f9dcf9SAnton Vorontsov static inline int hwconfig_sub(const char *opt, const char *subopt) 50*93f9dcf9SAnton Vorontsov { 51*93f9dcf9SAnton Vorontsov return -ENOSYS; 52*93f9dcf9SAnton Vorontsov } 53*93f9dcf9SAnton Vorontsov 54*93f9dcf9SAnton Vorontsov static inline const char *hwconfig_subarg(const char *opt, const char *subopt, 55*93f9dcf9SAnton Vorontsov size_t *subarglen) 56*93f9dcf9SAnton Vorontsov { 57*93f9dcf9SAnton Vorontsov *subarglen = 0; 58*93f9dcf9SAnton Vorontsov return ""; 59*93f9dcf9SAnton Vorontsov } 60*93f9dcf9SAnton Vorontsov 61*93f9dcf9SAnton Vorontsov static inline int hwconfig_subarg_cmp(const char *opt, const char *subopt, 62*93f9dcf9SAnton Vorontsov const char *subarg) 63*93f9dcf9SAnton Vorontsov { 64*93f9dcf9SAnton Vorontsov return -ENOSYS; 65*93f9dcf9SAnton Vorontsov } 66*93f9dcf9SAnton Vorontsov 67*93f9dcf9SAnton Vorontsov #endif /* CONFIG_HWCONFIG */ 68*93f9dcf9SAnton Vorontsov 69*93f9dcf9SAnton Vorontsov #endif /* _HWCONFIG_H */ 70