auto
     �ÂÁÀ      File not found.
  *   ˆl–Ü4ý( ©³( 	Å€fàB¦-ÿ¿ƒ@×_†I|¥�+ÃÂ P    /* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * RapidIO devices
 *
 * Copyright 2005 MontaVista Software, Inc.
 * Matt Porter <mporter@kernel.crashing.org>
 */

#ifndef LINUX_RIO_IDS_H
#define LINUX_RIO_IDS_H

#define RIO_VID_FREESCALE		0x0002
#define RIO_DID_MPC8560			0x0003

#define RIO_VID_TUNDRA			0x000d
#define RIO_DID_TSI500			0x0500
#define RIO_DID_TSI568			0x0568
#define RIO_DID_TSI572			0x0572
#define RIO_DID_TSI574			0x0574
#define RIO_DID_TSI576			0x0578 /* Same ID as Tsi578 */
#define RIO_DID_TSI577			0x0577
#define RIO_DID_TSI578			0x0578

#define RIO_VID_IDT			0x0038
#define RIO_DID_IDT70K200		0x0310
#define RIO_DID_IDTCPS8			0x035c
#define RIO_DID_IDTCPS12		0x035d
#define RIO_DID_IDTCPS16		0x035b
#define RIO_DID_IDTCPS6Q		0x035f
#define RIO_DID_IDTCPS10Q		0x035e
#define RIO_DID_IDTCPS1848		0x0374
#define RIO_DID_IDTCPS1432		0x0375
#define RIO_DID_IDTCPS1616		0x0379
#define RIO_DID_IDTVPS1616		0x0377
#define RIO_DID_IDTSPS1616		0x0378
#define RIO_DID_TSI721			0x80ab
#define RIO_DID_IDTRXS1632		0x80e5
#define RIO_DID_IDTRXS2448		0x80e6

#endif				/* LINUX_RIO_IDS_H */
     	ˆ¿ÀƒeÇœ¾ÃÂ f    	/* SPDX-License-Identifier: GPL-2.0 */
/*
 * KUnit function redirection (static stubbing) API.
 *
 * Copyright (C) 2022, Google LLC.
 * Author: David Gow <davidgow@google.com>
 */
#ifndef _KUNIT_STATIC_STUB_H
#define _KUNIT_STATIC_STUB_H

#if !IS_ENABLED(CONFIG_KUNIT)

/* If CONFIG_KUNIT is not enabled, these stubs quietly disappear. */
#define KUNIT_STATIC_STUB_REDIRECT(real_fn_name, args...) do {} while (0)

#else

#include <kunit/test.h>
#include <kunit/test-bug.h>

#include <linux/compiler.h> /* for {un,}likely() */
#include <linux/sched.h> /* for task_struct */


/**
 * KUNIT_STATIC_STUB_REDIRECT() - call a replacement 'static stub' if one exists
 * @real_fn_name: The name of this function (as an identifier, not a string)
 * @args: All of the arguments passed to this function
 *
 * This is a function prologue which is used to allow calls to the current
 * function to be redirected by a KUnit test. KUnit tests can call
 * kunit_activate_static_stub() to pass a replacement function in. The
 * replacement function will be called by KUNIT_STATIC_STUB_REDIRECT(), which
 * will then return from the function. If the caller is not in a KUnit context,
 * the function will continue execution as normal.
 *
 * Example:
 *
 * .. code-block:: c
 *
 *	int real_func(int n)
 *	{
 *		KUNIT_STATIC_STUB_REDIRECT(real_func, n);
 *		return 0;
 *	}
 *
 *	int replacement_func(int n)
 *	{
 *		return 42;
 *	}
 *
 *	void example_test(struct kunit *test)
 *	{
 *		kunit_activate_static_stub(test, real_func, replacement_func);
 *		KUNIT_EXPECT_EQ(test, real_func(1), 42);
 *	}
 *
 */
#define KUNIT_STATIC_STUB_REDIRECT(real_fn_name, args...)		\
do {									\
	typeof(&real_fn_name) replacement;				\
	struct kunit *current_test = kunit_get_current_test();		\
									\
	if (likely(!current_test))					\
		break;							\
									\
	replacement = kunit_hooks.get_static_stub_address(current_test,	\
							&real_fn_name);	\
									\
	if (unlikely(replacement))					\
		return replacement(args);				\
} while (0)

/* Helper function for kunit_activate_static_stub(). The macro does
 * typechecking, so use it instead.
 */
void __kunit_activate_static_stub(struct kunit *test,
				  void *real_fn_addr,
				  void *replacement_addr);

/**
 * kunit_activate_static_stub() - replace a function using static stubs.
 * @test: A pointer to the 'struct kunit' test context for the current test.
 * @real_fn_addr: The address of the function to replace.
 * @replacement_addr: The address of the function to replace it with.
 *
 * When activated, calls to real_fn_addr from within this test (even if called
 * indirectly) will instead call replacement_addr. The function pointed to by
 * real_fn_addr must begin with the static stub prologue in
 * KUNIT_STATIC_STUB_REDIRECT() for this to work. real_fn_addr and
 * replacement_addr must have the same type.
 *
 * Th