162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * altera.h
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * altera FPGA driver
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * Copyright (C) Altera Corporation 1998-2001
862306a36Sopenharmony_ci * Copyright (C) 2010 NetUP Inc.
962306a36Sopenharmony_ci * Copyright (C) 2010 Igor M. Liplianin <liplianin@netup.ru>
1062306a36Sopenharmony_ci */
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#ifndef _ALTERA_H_
1362306a36Sopenharmony_ci#define _ALTERA_H_
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_cistruct altera_config {
1662306a36Sopenharmony_ci	void *dev;
1762306a36Sopenharmony_ci	u8 *action;
1862306a36Sopenharmony_ci	int (*jtag_io) (void *dev, int tms, int tdi, int tdo);
1962306a36Sopenharmony_ci};
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci#if defined(CONFIG_ALTERA_STAPL) || \
2262306a36Sopenharmony_ci		(defined(CONFIG_ALTERA_STAPL_MODULE) && defined(MODULE))
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ciextern int altera_init(struct altera_config *config, const struct firmware *fw);
2562306a36Sopenharmony_ci#else
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_cistatic inline int altera_init(struct altera_config *config,
2862306a36Sopenharmony_ci						const struct firmware *fw)
2962306a36Sopenharmony_ci{
3062306a36Sopenharmony_ci	printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
3162306a36Sopenharmony_ci	return 0;
3262306a36Sopenharmony_ci}
3362306a36Sopenharmony_ci#endif /* CONFIG_ALTERA_STAPL */
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci#endif /* _ALTERA_H_ */
36