Merge module parameters and platform data in one struct. This is the last step to move to the new platform data per device. Now parameters of platform data will be merged with module parameters per device. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Reviewed-by: Franky (Zhenhui) Lin <frankyl@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
77 lines
2.6 KiB
C
77 lines
2.6 KiB
C
/* Copyright (c) 2014 Broadcom Corporation
|
|
*
|
|
* Permission to use, copy, modify, and/or distribute this software for any
|
|
* purpose with or without fee is hereby granted, provided that the above
|
|
* copyright notice and this permission notice appear in all copies.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
|
* SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
|
|
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
|
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
*/
|
|
#ifndef BRCMFMAC_COMMON_H
|
|
#define BRCMFMAC_COMMON_H
|
|
|
|
#include <linux/platform_device.h>
|
|
#include <linux/platform_data/brcmfmac.h>
|
|
#include "fwil_types.h"
|
|
|
|
extern const u8 ALLFFMAC[ETH_ALEN];
|
|
|
|
#define BRCMF_FW_ALTPATH_LEN 256
|
|
|
|
/* Definitions for the module global and device specific settings are defined
|
|
* here. Two structs are used for them. brcmf_mp_global_t and brcmf_mp_device.
|
|
* The mp_global is instantiated once in a global struct and gets initialized
|
|
* by the common_attach function which should be called before any other
|
|
* (module) initiliazation takes place. The device specific settings is part
|
|
* of the drvr struct and should be initialized on every brcmf_attach.
|
|
*/
|
|
|
|
/**
|
|
* struct brcmf_mp_global_t - Global module paramaters.
|
|
*
|
|
* @firmware_path: Alternative firmware path.
|
|
*/
|
|
struct brcmf_mp_global_t {
|
|
char firmware_path[BRCMF_FW_ALTPATH_LEN];
|
|
};
|
|
|
|
extern struct brcmf_mp_global_t brcmf_mp_global;
|
|
|
|
/**
|
|
* struct brcmf_mp_device - Device module paramaters.
|
|
*
|
|
* @p2p_enable: Legacy P2P0 enable (old wpa_supplicant).
|
|
* @feature_disable: Feature_disable bitmask.
|
|
* @fcmode: FWS flow control.
|
|
* @roamoff: Firmware roaming off?
|
|
* @ignore_probe_fail: Ignore probe failure.
|
|
* @country_codes: If available, pointer to struct for translating country codes
|
|
* @bus: Bus specific platform data. Only SDIO at the mmoment.
|
|
*/
|
|
struct brcmf_mp_device {
|
|
bool p2p_enable;
|
|
unsigned int feature_disable;
|
|
int fcmode;
|
|
bool roamoff;
|
|
bool ignore_probe_fail;
|
|
struct brcmfmac_pd_cc *country_codes;
|
|
union {
|
|
struct brcmfmac_sdio_pd sdio;
|
|
} bus;
|
|
};
|
|
|
|
struct brcmf_mp_device *brcmf_get_module_param(struct device *dev,
|
|
enum brcmf_bus_type bus_type,
|
|
u32 chip, u32 chiprev);
|
|
void brcmf_release_module_param(struct brcmf_mp_device *module_param);
|
|
|
|
/* Sets dongle media info (drv_version, mac address). */
|
|
int brcmf_c_preinit_dcmds(struct brcmf_if *ifp);
|
|
|
|
#endif /* BRCMFMAC_COMMON_H */
|