Given a nonlinear function with input $u \in \mathbb{R}^n$, time $t \geq 0$ and output $y \in \mathbb{R}^n$ as
$$ y = h(u, t) $$
I have read (in Nonlinear Systems by H. Khalil, chapter 6.1) that such a function is input feedforward passive if $u^T y \geq u^T \phi(u)$ for some function $\phi$.
While there the general case is considered that $h$ can be time varying I am only interested in the more special case that $h$ is a function of $u$ only. An example for such a $h$ could be a saturation function.
What I now don't get is: Why are there no further restrictions on the function $\phi$? Can I really pick any function I can think of (e.g. discontinous/constant/periodic/etc.), as long as the inequality holds?
I couldn't find any restrictions on $\phi$ in the textbook, but maybe the author just didn't list them?
Because can't I just always pick $\phi = h$? Then I would get $u^T \phi(u) = u^T h(u) = u^T y$ which is obviously $\geq u^T y$ since it is equal. So to me, without additional constraints on $\phi$, this definition seems pointless because every $h$ would then be input feedforward passive.
Question: Can I really pick any $\phi$ to check input feedforward passivity?
The key inequality for the passivity of memoryless functions is that $u^\top \phi(u)\ge 0$. This gives you constraints for the function $\phi(u)$.